Y'a une grave faille de sécurité permettant d'exploiter ton formulaire et de le transformer en robot à spam
Ne récupère jamais un destinataire comme ça à partir d'un formulaire, c'est trop facilement truandable. Pour $mailclient, htmlentities ne sert strictement à rien (et peut même tout casser), dans un header mail ce n'est pas de l'html. Utilise plutôt un :
Code :
- $mailClient = str_replace(array("\r", "\n" ), '', $_POST['mail']);
|
Comme ça il sera protégé des inclusions barbares d'header mails.
Pour $message aussi, htmlentities ne sert à rien (et provoquera des problèmes d'affichage pour les caractères accentués, vu que le mail est envoyé au format texte).
Autre problème, l'appel à la fonction mail est totalement erroné. Rappel de la fonction :
Code :
- bool mail ( string $to, string $subject, string $message [, string $additional_headers [, string $additional_parameters]] )
|
T'as mis tes variables à la suite, du coup dans le sujet se trouvera le site client, dans le message son mail, dans les header le message !?!?!
Ca serait plutôt :
Code :
- $message = 'Mail : ' . $mailClient . "\n"
- . 'Site : ' . $siteClient . "\n"
- . 'Message : ' . $message . "\n"
- . 'Tel : ' . $tel;
- $mail = mail($destinataire, $objet, $message, $mailClient);
|
Un truc comme ça...
Aussi, il est courtois et gentil de ne pas afficher directement un message de confirmation, mais plutôt d'utiliser une redirection de type 303 See Other, comme ça si le gars clique sur rafraîchir, il a pas un message pourraxe du genre "renvoyer les donnée post" (mais là ça va être dur, on va se taper à coup sûr des problèmes d'headers )