OVH Cloud OVH Cloud

Probleme bizarre avec mail()

10 réponses
Avatar
Julien Sambourg
Bonjour à tous,
Je vous écrit puisque j'ai un problème bizarre avec la fonction mail() de
PHP.
Sur mon site, il y a un formulaire d'inscription et un mail est envoyé pour
la confirmation de l'inscription.
Le mail est envoyé au format texte et contient une URL qu'il suffit de
cliquer pour finaliser son inscription au site.
Seulement, de temps en temps certaines personnes me contactent pour signaler
un problème qui les empêche de s'inscrire.
En effet, il y a un soucis avec le mail envoyé et plus particulièrement avec
l'URL qu'il contient.
Voici le code:

<?
$message = "
Pour valider définitivement votre inscription comme membre, merci de cliquer
ci-dessous:
http://www.domaine.com/inscription.php?code=$code
";
mail($email,"Inscription",$message,"From: toto@domaine.com\r\nContent-Type:
text/plain; charset=iso-8859-1");
?>

Tout cela marche très bien sauf peut-être aléatoirement une fois sur 100 ou
sur 1000, la personne reçoit alors en effet un e-mail avec comme URL:
http://www.domaine.com/inVOIDion.php?v_code=$v_code
au lieu de
http://www.domaine.com/inscription.php?v_code=$v_code

Du coup l'inscription ne marche pas :-(
Comme vous pouvez le voir, la chaine "script" du nom du fichier est parfois
remplacée par la chaine "VOID" sans raison et sans que je sois arrivé à
reproduire ce bug. Je précise que quand ce bug intervient, la variable $code
est toujours bien renseignée d'après ce que j'ai pu voir dans les e-mails
que l'on m'a transféré.

Je voudrais vraiment trouver d'où vient ce bug bizarre. Pourquoi "script"
est remplacé par la chaine "VOID"???!!! Bug de PHP?

Il s'agit d'un serveur PHP 4.3.6 sous Win2k SP4.

Merci pour votre aide...

--
Julien

10 réponses

Avatar
Thibaut Allender

Je voudrais vraiment trouver d'où vient ce bug bizarre. Pourquoi "script"
est remplacé par la chaine "VOID"???!!! Bug de PHP?


je pencherais plutot une "fonctionnalité" du client ou su serveur mail
de la personne qui recoit le mail
script est remplacé par VOID pour des raisons de securité ou que sais-je
encore

--
thibaut allender | freelance | web|system developer|designer
+32 496 26 75 76 | http://capsule.org

Avatar
Paul Delannoy
Julien Sambourg a écrit:
Bonjour à tous,
....
<?
$message = "
Pour valider définitivement votre inscription comme membre, merci de cliquer
ci-dessous:
http://www.domaine.com/inscription.php?code=$code
";
mail($email,"Inscription",$message,"From: :
text/plain; charset=iso-8859-1");
?>

....


Je voudrais vraiment trouver d'où vient ce bug bizarre. Pourquoi "script"
est remplacé par la chaine "VOID"???!!! Bug de PHP?


C'est peut être un bug de PHP, mais je pense que si tu encapsule dans
une variable :
$adresse = "http://www.domaine.com/inscription.php?code=$code";
et que tu modifie ton code en fonction :
$message = " Pour valider définitivement votre inscription comme membre,
merci de cliquer ci-dessous:".$adresse;
tu auras moins de 'chance' de le voir se produire.
J'eqça.

Avatar
Christophe PEREZ
Le Mon, 17 May 2004 15:43:38 +0000, Thibaut Allender a écrit:

je pencherais plutot une "fonctionnalité" du client ou su serveur mail
de la personne qui recoit le mail


Je pense aussi, et pour tenter d'aider un peu plus Julien, je lui
conseillerai de se faire envoyer le même mail en double à sa propre
adresse, et de voir si parfois cette transformation a lieu.
Chercher aussi si à chaque fois que ça se produit, il y a un point
commun chez l'utilisateur (client mail, FAI etc...)

--
Christophe PEREZ
Écrivez moi sans _faute !

Avatar
_nop_nop_quinton_
Christophe PEREZ wrote:

Le Mon, 17 May 2004 15:43:38 +0000, Thibaut Allender a écrit:

je pencherais plutot une "fonctionnalité" du client ou su serveur mail
de la personne qui recoit le mail


Je pense aussi, et pour tenter d'aider un peu plus Julien, je lui
conseillerai de se faire envoyer le même mail en double à sa propre
adresse, et de voir si parfois cette transformation a lieu.
Chercher aussi si à chaque fois que ça se produit, il y a un point
commun chez l'utilisateur (client mail, FAI etc...)


moi aussi je pensais a un mécanisme de filtrage des XSS. Souvent, ce
genre d'attaque est encadré par #script#...#/script# ; qui transforme
script en VOID (remplacer # par les bon tags, je poste depuis un
formulaire) :
* un proxy sur le réseau de l'entreprise qui a été configuré pour apporter
un peu de securité aux personne qui utilisent le web. Attention de ne pas
ravager toutes les pages html, ca doit etre tres technical !
* le navigateur qui offre un mécanisme de protection ; plutot un navigateur
open-source dans ce cas


--
Posté via http://www.webatou.net/
Usenet dans votre navigateur !
Complaints-To:


Avatar
Julien Sambourg
Merci pour vos réponses.

Je ne crois pas que ce problème soit lié au client de messagerie puisque ce
n'est pas un problème d'affichage mais le 'VOID' est directement inclus dans
"la source" du mail. Je n'ai pas trouvé de similitudes entre les différentes
personnes ayant eu ce bug comme suggéré par Christophe: FAI, client POP3
etc.
Je vais en effet essayer de m'envoyer en double les e-mails pour voir si
j'en reçois aussi avec ce problème mais ce problème semble ne se produire
qu'assez rarement...
Sinon, j'essayerai en effet d'écrire le code différemment avec la création
de l'URL dans une variable à part...

Merci et n'hésitez pas si vous avez d'autres idées...

--
Julien
Avatar
Sam
Ce n'est pas aléatoire.
Certains providers de mail remplacent tous les "script" par "void", question
de sécurité.
C'est le cas de Caramail, par exemple.
Donc, renomme simplement ta page genre "inscr.php" :-)

Personnellement, j'ai eu le probleme avec sam-scripts.com, et je n'ai tjs
pas trouver comment le régler...
passeke là, a part changer le nom de domaine...

"Julien Sambourg" a écrit
Tout cela marche très bien sauf peut-être aléatoirement une fois sur 100
ou

sur 1000, la personne reçoit alors en effet un e-mail avec comme URL:
http://www.domaine.com/inVOIDion.php?v_code=$v_code


Avatar
Julien Sambourg
Content de voir que je ne suis pas le seul à avoir ce problème de fou :-)
Je viens de faire le test avec Caramail en mettant une URL contenant
"script" et en effet ça a été remplacé par "VOID". En revanche le mot
"script" si il n'est pas contenu dans une URL n'est pas remplacé.
C'est hallucinant que des FAI se permettent de toucher aux corps des mails
quand même. C'est bien beau de vouloir sécuriser les gens mais bon...
A la rigueur, c'est la chaine "<script" qu'ils devraient remplacer mais pas
"script".

Je vais modifier le nom de mon fichier.

Merci à tous pour vos réponses! Ca faisait un moment que ce problème me
rendait fou et je suis content qu'il soit résolu.

Julien

PS: ce que je ne comprends pas c'est qu'il y ait des gens avec @caramail.com
comme e-mail qui ont réussi à s'inscrire...
Avatar
Thibaut Allender

PS: ce que je ne comprends pas c'est qu'il y ait des gens avec @caramail.com
comme e-mail qui ont réussi à s'inscrire...


moi ce que je ne comprends pas c'est que des gens @caramail.com
recoivent des mails :)))

--
thibaut allender | freelance | web|system developer|designer
+32 496 26 75 76 | http://capsule.org

Avatar
Sam
"Julien Sambourg" a écrit
A la rigueur, c'est la chaine "<script" qu'ils devraient remplacer mais
pas

"script".


imagine que ton url soit : "javascript:alert("ah ah ah vous etes hacké !
votre disque dur va etre reformaté !");"

T'imagines les plaintes de tous les paranos touchés envers caramail ? ça
ferait pas serieux, et là, je te donne qu'un exemple anodin a coté de ce
qu'il serait possible de faire...
Le plus dangereux n'est en effet pas les url, mais les mails en html, qui
contiennent virus (souvent vbSCRIPT) par exemple...

Avatar
Julien Sambourg
Certes :-)

--
Julien