|
|
|
|
||||||
![]() |
|
|
LinkBack | Outils de la discussion |
|
|
#1 (permalink) |
|
Messages: n/a
Hébergeur: |
Bonjour,
J'ai un formulaire qui détecte l'oubli de saisie dans le champ "courriel" de l'expéditeur. Mais je reçois des spams expédiés par "azertyuiop" évidemment ! Est-il possible de comparer l'adresse saisie dans ce champ avec l'adresse de l'expéditeur du formulaire et en cas de non concordance, d'envoyer ce dernier à une vraie fausse adresse ??? du genre : si "courriel saisi" <> adresse expéditeur, envoyer à poubelle@hotmail.com merci et bonne journée alain |
|
|
|
#2 (permalink) |
|
Messages: n/a
Hébergeur: |
Le 27/07/2007 15:28, alainL a écrit :
> > J'ai un formulaire qui détecte l'oubli de saisie dans le champ "courriel" de > l'expéditeur. Ok. > Mais je reçois des spams expédiés par "azertyuiop" évidemment ! Tu peux déjà vérifier que l'adresse est syntaxiquement correcte, mais ça ne t'empêchera pas de recevoir des messages d'azerty@ui.op. Cf. la FAQ : <http://faqfclphp.free.fr/#rub5.3>. > Est-il possible de comparer l'adresse saisie dans ce champ avec l'adresse de > l'expéditeur du formulaire Non, parce que tu n'as évidemment aucun moyen de connaître la ou les adresses de l'expéditeur du formulaire... si tant est qu'il en ait une. > et en cas de non concordance, d'envoyer ce > dernier à une vraie fausse adresse ??? À une adresse inexistante ou qui ne t'appartient pas, tu veux dire ? Je ne vois vraiment pas pourquoi tu voudrais faire une énormité pareille. > du genre : si "courriel saisi" <> adresse expéditeur, envoyer à > poubelle@hotmail.com Et l'adresse poubelle@hotmail.com, elle t'appartient ou pas ? Si elle ne t'appartient pas, c'est toi qui spammes. Et même si elle t'appartient mais que tu ne la consultes pas, je ne vois pas pourquoi tu chargerais le réseau et les serveurs de hotmail.com pour rien. |
|
|
|
#3 (permalink) |
|
Messages: n/a
Hébergeur: |
Le 27/07/2007 15:28, alainL a ecrit :
> Bonjour, > J'ai un formulaire qui détecte l'oubli de saisie dans le champ > "courriel" de l'expéditeur. Mais je reçois des spams expédiés par > "azertyuiop" évidemment ! Hello, Je crois pas qu'il soit possible de savoir si l'adresse que rentre le visiteur soit vraiment la sienne ou pas, mais il est possible de tester l'adresse qu'il a rentré. J'utilise une petite fonction qui regarde si l'adresse mail est bien de la forme "xxxxxxx@domaine.ext" et ensuite, je teste si il y a bien un MX sur "domaine.ext" ma fonction est : function Test_email ($email) { $test_mail=eregi('^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)+$',$email); if ($test_mail) { list ($login, $domaine) = split ("@", $email,2); if (checkdnsrr ($domaine, "MX")) return TRUE; else return FALSE; } else return FALSE; } JC. |
|
|
|
#4 (permalink) |
|
Messages: n/a
Hébergeur: |
Le 27/07/2007 17:05, JC a écrit :
> > Je crois pas qu'il soit possible de savoir si l'adresse que rentre le > visiteur soit vraiment la sienne ou pas, Le seul moyen, c'est de lui poser la question à cette adresse, et d'attendre sa réponse. > mais il est possible de tester l'adresse qu'il a rentré. > J'utilise une petite fonction qui regarde si l'adresse mail est bien de > la forme "xxxxxxx@domaine.ext" C'est la fonction donnée dans la FAQ ? Je vais regarder ça. > et ensuite, je teste si il y a bien un MX sur "domaine.ext" Bof bof... Si le MX existe, tu ne seras pas plus avancé pour savoir si l'adresse existe, et encore moins pour savoir si cette adresse appartient bien à celui qui l'a saisie. Alors que si l'adresse répond à une demande de confirmation, tu auras la preuve que le visiteur avait saisi la bonne sans qu'il te soit nécessaire d'interroger les DNS. Bref, ça ne sert à rien. > $test_mail=eregi('^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)+$',$email); Bingo ! À tous les coups l'on perd ! 1) Passe mon adresse dans ta moulinette, tu verras qu'elle la refuse. 2) Envoie-moi un courriel et je te répondrai, tu verras que mon adresse est néanmoins valide. Tes sites participent donc à la ségrégation dont je suis victime. Cf. <http://faqfclphp.free.fr/#rub5.3>. > if (checkdnsrr ($domaine, "MX")) return TRUE; Et à la place de ce test il vaudrait mille fois mieux une demande de confirmation par courriel. |
|
|
|
#5 (permalink) |
|
Messages: n/a
Hébergeur: |
>
> $test_mail=eregi('^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)+$',$email); > Super ! une fonction qui interdi des email valides et authorise des mail invalide ^^ En fait, avant l'@, tu peut avec des lettres, des chiffres, mais aussi des caracters spéciaux : & + / \ - . sachant que la seul contrainte, c'est que ça ne peut pas commencer par un . Par contre, apres le @, ça ne peut commencer par un chiffre, et apres chaque . apres le @, il ne peut y avoir de chiffre. de plus, le TLD ne peut (a ma connaissance) dépasser 5 caractères, ni (toujours a ma connaissance) contenir de chiffre pour les septiques, j'ai une adresse email avec un \, une autres avec un + et un &, et ces deux adresses marchent tres bien. sauf quand il faut les rentrer dans des formulaire fait par des gens qui controlent n'importe comment. |
|
|
|
#6 (permalink) |
|
Messages: n/a
Hébergeur: |
Le Fri, 27 Jul 2007 15:34:59 +0000, Olivier Miakinen a écrit:
>> if (checkdnsrr ($domaine, "MX")) return TRUE; > > Et à la place de ce test il vaudrait mille fois mieux une demande de > confirmation par courriel. S'il n'y a pas de MX (ou de A, cas oublié dans le test), la confirmation risque d'avoir du mal à arriver... Donc tester MX+A c'est bien, mais pas à la place du mail, en plus. Cela permet de filtrer les erreurs manifestes, et déleste le MTA local. -- Patrick Mevzek . . . . . . . . . . . . . . Dot and Co <http://www.dotandco.net/> <http://www.dotandco.com/> Dépêches sur le nommage <news://news.dotandco.net/dotandco.info.news> |
|
|
|
#7 (permalink) |
|
Messages: n/a
Hébergeur: |
Le Fri, 27 Jul 2007 17:07:44 +0000, Thief13 a écrit:
> de plus, le TLD ne > peut (a ma connaissance) dépasser 5 caractères, Vous allez faire plaisir à .MUSEUM et .TRAVEL ... Il n'y a pas de telle limite, si ce n'est celle de 63 caractères pour chaque élément du nom (entre deux points). > ni (toujours a ma connaissance) contenir de chiffre La technique ne l'empêche pas AFAIK. -- Patrick Mevzek . . . . . . . . . . . . . . Dot and Co <http://www.dotandco.net/> <http://www.dotandco.com/> Dépêches sur le nommage <news://news.dotandco.net/dotandco.info.news> |
|
|
|
#8 (permalink) |
|
Messages: n/a
Hébergeur: |
Le 27/07/2007 19:07, Thief13 a écrit :
>> >> $test_mail=eregi('^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)+$',$email); >> > > Super ! une fonction qui interdit des emails valides et autorise des mails > invalides ^^ Exactement ce que je disais, merci de me soutenir. > En fait, avant l'@, tu peut avec des lettres, des chiffres, mais aussi > des caracters spéciaux : & + / \ - . Plus quelques autres : !#$%'*=?^_`{|}~ > sachant que la seul contrainte, c'est que ça ne peut pas commencer par un . Ça ne peut pas non plus finir par un point ni avoir deux points consécutifs. > Par contre, apres le @, ça ne peut commencer par un chiffre, et apres > chaque . apres le @, il ne peut y avoir de chiffre. Non, il peut y avoir des chiffres à n'importe quel endroit. Voir par exemple <http://www.123.com/>. > de plus, le TLD ne > peut (a ma connaissance) dépasser 5 caractères, ni (toujours a ma > connaissance) contenir de chiffre Tous deux sont faux également. Le TLD museum comporte 6 caractères, et rien n'interdit de créer un TLD avec plus de 6 caractères ou des chiffres. > pour les septiques, j'ai une adresse email avec un \, une autres avec un > + et un &, et ces deux adresses marchent tres bien. sauf quand il faut > les rentrer dans des formulaire fait par des gens qui controlent > n'importe comment. Voilà, c'est vraiment très pénible, surtout pour le « + » qui permet d'avoir plusieurs adresses différentes sur un seul compte. Encore une fois je redonne l'adresse de la FAQ, où l'expression régulière proposée résulte d'une longue recherche dans les documents de référence (RFC) : <http://faqfclphp.free.fr/#rub5.3>. |
|
![]() |
| Outils de la discussion | |
|
|