|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 |
![]() ![]() Développeur Ruby on Rails / iOS et journaliste Inscription : juin 2010 Messages : 1 101 ![]() |
Vos applications valident-elles correctement les adresses e-mail ?
Retour sur les détails des spécifications Les adresses e-mail sont au cœur de toutes les applications Web. Et s'il y a bien une seule tâche commune à tous les projets de développement Web, c'est la validation de ces adresses. Si cette validation peut sembler au premier abord simple, facilement accomplie par le test de conformité à une expression rationnelle, beaucoup de développeurs ignorent les détails des spécifications et risquent de rejeter des utilisateurs aux adresses e-mail peu habituelles certes, mais tout à fait conformes. Le problème vient essentiellement du fait que les spécifications autorisent bien plus de caractères que ne le pensent beaucoup de développeurs. Les caractères ! $ & * – = ^ ` | ~ # % ‘ + / ? _ { } étant tous aussi valides les uns que les autres. Les spécifications autorisent même la présence du caractère « @ » (arobase) dans la première partie de l'adresse pour peu qu'il soit échappé (précédé par un Antislash) Cette problématique est d'autant plus compliquée que certains utilisateurs disposent d'adresses e-mail cette fois non conformes aux spécifications, mais tout à fait fonctionnelles. Chris Sinjakli (un développeur anglais) préconise une solution plutôt radicale : ne valider l'adresse e-mail que par le lien (ou code) de validation envoyé au compte de messagerie en question. Et vous ? Comment validez-vous les adresses mail ? Vos scripts de validation respectent-il les spécifications ? Source : Blog de Chris Sinjakli |
|
|
40
|
|
|
#2 |
|
Invité(e)
Messages : n/a ![]() |
Notons aussi que pour une application PHP, il suffit d'un simple :
Code :
filter_var($adresse_email, FILTER_VALIDATE_EMAIL)
|
10
|
|
|
#3 |
|
Membre actif
![]() OLE MAIN()Développeur Web Inscription : octobre 2002 Messages : 296 ![]() |
J'ai pris le temps une fois de lire une RFC sur ce sujet, mais c'est assez long/compliqué... Sur internet, chacun propose son expression régulière miracle pour valider ses emails... mais à chaque fois il y a un problème
Du coup je m'en sors avec celle-ci : Code :
'^[a-zA-Z0-9\._-]{1,60}@[a-zA-Z0-9\._-]{1,36}[\.][a-zA-Z0-9]{2,4}$'
Bill si tu passes par là, donne la nous enfin cette satanée expression !!! |
|
|
00
|
|
|
#4 | ||
|
Membre du Club
![]() Inscription : novembre 2008 Messages : 76 ![]() |
La regexp de validation des emails est simple pourtant...
Code :
|
||
|
50
|
|
|
#5 |
|
Membre actif
![]() OLE MAIN()Développeur Web Inscription : octobre 2002 Messages : 296 ![]() |
Heziva tu peux citer ta source STP
?
|
|
|
10
|
|
|
#6 |
|
Membre du Club
![]() Inscription : juin 2007 Messages : 148 ![]() |
Topic intérressant, mais si on devait checker des milliers d'adresses email lors d'une inscription par "un test d'envoi", on va pas s'en sortir !
|
|
|
04
|
|
|
#7 | |
|
Expert Confirmé
![]() Olivier Développeur Web Inscription : août 2003 Messages : 1 837 ![]() |
Citation:
Cependant ca n'empèche pas de faire une validation grossière au moment de la saisie du genre vérifié que j'ai au moins un arobase , un identifiant et un domaine (pas forcément d'extension à ce domaine). |
|
|
10
|
|
|
#8 | |
|
Invité(e)
Messages : n/a ![]() |
Citation:
|
|
00
|
|
|
#9 |
|
Membre confirmé
![]() Inscription : février 2005 Messages : 287 ![]() |
|
|
|
00
|
|
|
#10 | |
|
Membre du Club
![]() Inscription : mars 2007 Messages : 134 ![]() |
Salut,
Citation:
|
|
|
|
50
|
|
|
#11 | |
|
Invité régulier
![]() Inscription : février 2010 Messages : 18 ![]() |
Bonjour à tous,
Par ma part j'utilise la regex suivante : Code :
(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|\"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])*\")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21-\\x5a\\x53-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])+)\\])
http://www.regular-expressions.info/email.html Cette regex est, d'après le site, Citation:
|
|
|
|
00
|
|
|
#12 |
|
Invité de passage
![]() |
on peut externaliser le traitement de vérification de la véracité des adresses mail en utilisant des web services (SOAP/WSDL,HTTP). il existe des services gratuits qui le font.
le WSDL d'un bon web service que j'utilise : http://ws.xwebservices.com/XWebEmail...alidation.wsdl |
|
|
00
|
|
|
#13 | |
|
Nouveau Membre du Club
![]() Inscription : décembre 2005 Messages : 21 ![]() |
Citation:
|
|
|
|
00
|
|
|
#14 |
|
Membre actif
![]() Inscription : novembre 2006 Messages : 138 ![]() |
C'est clair, les emails jetable c'est pas terrible pour certains.
Moi pour le moment, ca n'accepte pas les emails un peu exotique
__________________
|
|
|
00
|
|
|
#15 | ||
|
Membre expérimenté
![]() Rémi BOURGARELDéveloppeur .NET Inscription : juin 2006 Messages : 426 ![]() |
Code :
System.Net.Mail.MailAddress leve une exception si c'est pas bon (par ça valide les addresses multiples). pas de problème ! |
||
|
00
|
|
|
#16 |
|
Expert Confirmé
![]() Olivier Développeur Web Inscription : août 2003 Messages : 1 837 ![]() |
|
|
00
|
|
|
#17 | |
|
Membre actif
![]() Inscription : novembre 2006 Messages : 138 ![]() |
Citation:
__________________
|
|
|
|
00
|
|
|
#18 |
|
Membre du Club
![]() Inscription : février 2008 Messages : 91 ![]() |
Je ne sais combien de fois je me suis vu refusé mon adresse email spécial newsletter de gmail par les formulaires de contact.
Ces adresses email sont des alias. ![]() toto+newsletter@gmail.comLe + n'est pas considéré comme un caractère valide à tort ! |
|
|
10
|
|
|
#19 |
|
Membre Expert
![]() Développeur informatique Inscription : juillet 2005 Messages : 512 ![]() |
Peut-être que si y'avait pas autant de sites qui demandaient l'adresse mail pour rien ( si ce n'est les revendre/envoyer du spam ) les gens n'utiliseraient pas ce genre de procédés....
|
|
|
10
|
|
|
#20 | |||
|
Membre Expert
![]() Eric GaridacciInscription : septembre 2005 Messages : 1 057 ![]() |
Salut,
Quelque soit la manière dont nous testons l'intégrité de la chaine alpha-numérique correspondant à l'adresse e-mail (expressions rationnelles, fonctions de filtrages perso ou natives), il est utile de vérifier aussi l'existence du domaine. En effet, même si une adresse semble valide, cela ne veux pas dire que le domaine associé existe ou supporte la réception d'emails. Avec PHP, il existe la fonction... Citation:
Code php :
__________________
N'oubliez pas le vote des messages utiles ainsi que le Tag [Résolu].Mon Site Web : Corse - Actualité, Météo, Vidéos, Logiciels, ... |
|||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com