Erreur fonction Mail()

Répondre
surfeurdu33
le 16/02/2005 à 16:42
surfeurdu33
Quant j'envoie un mail a partir de la focntion mail, il y a çà qui apparait dans la partie "De:" du mail:

"UNEXPECTED_DATA_AFTER_ADDRESS@.SYNTAX-ERROR"

Mon script :

<?php
$subject = $_POST['subject'];
$mail = $_POST['text'];
$exp = $_POST['mail'];
mail("adresse@domaine.fr", $subject, $mail, "From: $exp Par Site Surfeurdu33 <adresse@domaine.fr>\r\n");
?>


Pourquoi "UNEXPECTED_DATA_AFTER_ADDRESS@.SYNTAX-ERROR" Apparait ? et peut-on l'enlever?

merci d'avance
Bzh
le 16/02/2005 à 17:23
Bzh
Déja ce qui est bizard avec ton script c' est que tu ne vérifie aucune de tes variables !!!!

C 'est très dangéreux à cause des injections d'headers dans la fonction mail()...

Et puis même, sans ça, il faut tt de même vérifier la bonne syntax de l' adresse mail !!!! même si c' est l' expéditeur !!!!

Et comme par un hazard, c' est au nivaux de l' expéditeur que ça plante !!!!

Fait tes vérifications on verra après...

Pour les intéressé voici le lien pour l' article sur les injections d' header dans la fonction mail()!!! Très très dangereux...

Cliquez ici

smiley
surfeurdu33
le 16/02/2005 à 17:55
surfeurdu33
Mais alors la je ne comprend rien de rien.

Que veux tu que je vérifie? Quels variables?
LA GLOBULE
le 16/02/2005 à 18:07
LA GLOBULE
lol, comment il met la pression bzh smiley

surfeur, les headers pour les mails, c'est quelque chose de précis.
Tu ne peux pas faire ce que tu veux.

Exemple :

"From: $exp Par Site Surfeurdu33 <adresse@domaine.fr>\r\n"

Ca peut pas marcher :)

Si $exp contient l'adresse E-mail de l'expéditeur, il faut que tu mettes :

"Reply-to: Par Site Surfeurdu33<$exp>\nFrom: Par Site Surfeurdu33<$exp>"
Bzh
le 16/02/2005 à 18:23
Bzh
Oups, désolé surfeur !!!!

Me suis un peu emballé (m' énerve sur des put*** de cookie de sessions m'enfin bon) !!!

Lorsque tu récupères des valeurs par des formulaires, par exemple, il faut mieu les vérifier...

Pour éviter les petites erreurs des utilisateurs moyen ou contrer les attaques de petits rogolos !!!

Par exemple, tu peu utilisé cette astuce pour vérifier le bon format de l' adresse mail ( pas d' accent par exemple )!!!

Ensuite, lors d' unte tentative d' injection d' entête dans la fonction mail(), il faut rajouter le caractère \n (retour a la ligne)... Donc pour se protèger, par exemple, tu peux tester l' existance de se caractère et donc interdire l' envoie du mail et retourné un message d' erreurs!!!

Enfin, c' est une solution, je sais pas si elle est sur a 100% mais se sera tjrs mieu ...

Voila...

Bye et bon courage...
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours