FORMULAIRE DE CONTACT PHP + ENVOI MAIL - PROFESSEUR-PHP.COM

cs_JLN Messages postés 371 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 17 juin 2013 - 2 avril 2012 à 08:49
cs_metis15 Messages postés 314 Date d'inscription lundi 19 mai 2003 Statut Membre Dernière intervention 30 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.

https://codes-sources.commentcamarche.net/source/54187-formulaire-de-contact-php-envoi-mail-professeur-php-com

cs_metis15 Messages postés 314 Date d'inscription lundi 19 mai 2003 Statut Membre Dernière intervention 30 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és 122 Date d'inscription mercredi 19 décembre 2001 Statut Membre Derniè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).

Pour complément, voici un article parmi d'autres sur le sujet :
http://www.phpsecure.info/v2/article/MailHeadersInject.php

Bonne continuation

EM.
cs_JLN Messages postés 371 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 17 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.
Rejoignez-nous