FORMULAIRE DE CONTACT PHP + ENVOI MAIL - PROFESSEUR-PHP.COM
cs_JLN
Messages postés371Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention17 juin 2013
-
2 avril 2012 à 08:49
cs_metis15
Messages postés314Date d'inscriptionlundi 19 mai 2003StatutMembreDernière intervention30 novembre 2023
-
2 avril 2012 à 11:29
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
cs_metis15
Messages postés314Date d'inscriptionlundi 19 mai 2003StatutMembreDernière intervention30 novembre 2023 2 avril 2012 à 11:29
C'est surement très bien cette vidéo pour quelqu'un qui s'y connait déjà un peu mais c'est bien long tout ça. Et moi, je suis trop vieux pour passer des heures à apprendre/comprendre le codage.
Donc :
Je mets mon adresse là à la place...?
$mailEnvoyeur = "no-reply@doorgets.com";
Je ne vois pas d'autre endroit pour la mettre.
Ca donne rien. (;o))))))
Sans compter que je ne me considère comme l'envoyeur.
C'est la personne qui répond à mon formulaire l'envoyeur.
Moi, je suis le destinataire du formulaire...
cs_emilia123
Messages postés122Date d'inscriptionmercredi 19 décembre 2001StatutMembreDernière intervention 5 janvier 2009 2 avril 2012 à 09:15
Bonjour,
Les différents éléments sont simple a comprend.
Le seul problème c'est qu'il y a un manque de sécurisation au niveau des entêtes de l'email qui permettrait d'envoyer des spams à n'importe qui.
Pour information:
- les entêtes emails sont du texte simple,
- chaque entete est séparée de la précédente par un retour à la ligne (séparateur "\r", "\r\n" ou "%0A" en fonction des système).
- Il me semble que si une entete est répétée c'est juste la derniere qui est prise en compte
Donc si dans la variable "nom" je post :
"moi\r\nCc:email1@website1.com\r\nentetebidon:"
Je dois pouvoir mettre "email1@website1.com" en copie de l'email.
La méthode d'attaque peut varier, mais si on laisse un formulaire en ligne comme cela, il sera trouvé à un moment ou à un autre et deviendra un relais à spam.
La sécurisation via "htmlentities" ne suffit pas, il faudrait de préférence interdire tous les caractères autres que du texte normal, au à minima supprimer les retours à la ligne (sous toutes les formes).
cs_JLN
Messages postés371Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention17 juin 2013 2 avril 2012 à 08:49
Pas moins de 5 fichiers pour envoyer un mail ! Pourquoi faire simple si on peut faire compliqué !
Le script n'est pas moins bon pour autant. Je met 7 à cause du nombre de script.
2 avril 2012 à 11:29
Donc :
Je mets mon adresse là à la place...?
$mailEnvoyeur = "no-reply@doorgets.com";
Je ne vois pas d'autre endroit pour la mettre.
Ca donne rien. (;o))))))
Sans compter que je ne me considère comme l'envoyeur.
C'est la personne qui répond à mon formulaire l'envoyeur.
Moi, je suis le destinataire du formulaire...
2 avril 2012 à 09:15
Les différents éléments sont simple a comprend.
Le seul problème c'est qu'il y a un manque de sécurisation au niveau des entêtes de l'email qui permettrait d'envoyer des spams à n'importe qui.
Pour information:
- les entêtes emails sont du texte simple,
- chaque entete est séparée de la précédente par un retour à la ligne (séparateur "\r", "\r\n" ou "%0A" en fonction des système).
- Il me semble que si une entete est répétée c'est juste la derniere qui est prise en compte
Donc si dans la variable "nom" je post :
"moi\r\nCc:email1@website1.com\r\nentetebidon:"
Je dois pouvoir mettre "email1@website1.com" en copie de l'email.
La méthode d'attaque peut varier, mais si on laisse un formulaire en ligne comme cela, il sera trouvé à un moment ou à un autre et deviendra un relais à spam.
La sécurisation via "htmlentities" ne suffit pas, il faudrait de préférence interdire tous les caractères autres que du texte normal, au à minima supprimer les retours à la ligne (sous toutes les formes).
Pour complément, voici un article parmi d'autres sur le sujet :
http://www.phpsecure.info/v2/article/MailHeadersInject.php
Bonne continuation
EM.
2 avril 2012 à 08:49
Le script n'est pas moins bon pour autant. Je met 7 à cause du nombre de script.