PHWinfo banniere

Titres
PORTAIL ANNUAIRE ARTICLES COMPARATEUR HÉBERGEURS DEVIS FORUMS RÉDUCTEUR D'URL
Précédent   PHWinfo > Autres forums > Forum Programmation & Conception > fr.comp.lang.php > tester validite adresse dans un form
S'inscrire FAQ Membres Recherche Messages du jour Marquer les forums comme lus
tester validite adresse dans un form

Réponse
 
LinkBack Outils de la discussion
Vieux 27/07/2007, 14h28   #1 (permalink)
alainL
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut tester validite adresse dans un form

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
  Réponse avec citation
Vieux 27/07/2007, 16h00   #2 (permalink)
Olivier Miakinen
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: tester validite adresse dans un form

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.
  Réponse avec citation
Vieux 27/07/2007, 16h05   #3 (permalink)
JC
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: tester validite adresse dans un form

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.
  Réponse avec citation
Vieux 27/07/2007, 16h34   #4 (permalink)
Olivier Miakinen
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: tester validite adresse dans un form

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.
  Réponse avec citation
Vieux 27/07/2007, 18h07   #5 (permalink)
Thief13
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: tester validite adresse dans un form

>
> $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.
  Réponse avec citation
Vieux 27/07/2007, 18h22   #6 (permalink)
Patrick Mevzek
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: tester validite adresse dans un form

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>
  Réponse avec citation
Vieux 27/07/2007, 18h22   #7 (permalink)
Patrick Mevzek
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: tester validite adresse dans un form

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>
  Réponse avec citation
Vieux 27/07/2007, 18h22   #8 (permalink)
Olivier Miakinen
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: tester validite adresse dans un form

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>.
  Réponse avec citation
Réponse


Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui


Fuseau horaire GMT +1. Il est actuellement 10h29.


Édité par : vBulletin® version 3.7.2
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0 RC5 Tous droits réservés.
Version française #16 par l'association vBulletin francophone
PHWinfo est un site Éducation Sans Frontières
Ad Management by RedTyger
©Tous droits réservés par les parties respectives
Page generated in 0,19333 seconds with 16 queries