sur spip-listes, il me semble qu'il y a un pb de verification sur les emails au moment de l'abonnement
test ne passe pas
test@test passe
ne faudrait pas verifer la presence d'au moins un point apres l'arobase dans la regex d'email_valide() ?
if (!preg_match('#^[^()<>@,;:\\"/[:space:]]+(@([-_0-9a-z]+\.)*[-_0-9a-z]+)$#i', $adresse))
En javascript, je fais cette vérification :
/^[a-zA-Z]+([_\.-]?[a-zA-Z0-9]+)*@[a-zA-Z]+([_\.-]?[a-zA-Z0-9]+)*(\.[a-zA-Z]
{2,3})+$/
C'est-à-dire : des lettres suivies éventuellement de (point, tiret ou
underscore et de lettres ou chiffres) suivi d'un arobase et d'une série de
lettres suivies éventuellement de (point, tiret ou underscore et de lettres
ou chiffres) suivi d'un point et de deux ou trois lettres (suivi
éventuellement d'autres points et lettres).
sur spip-listes, il me semble qu'il y a un pb de verification sur les
emails au moment de l'abonnement
test ne passe pas
test@test passe
ne faudrait pas verifer la presence d'au moins un point apres l'arobase
dans la regex d'email_valide() ?
if
(!preg_match('#^[^()<>@,;:\\"/[:space:]]+(@([-_0-9a-z]+\.)*[-_0-9a-z]+)$#i',
J'ai remis sur spip-listes la fonction email valide de spip. Auparavent, la regex était plus stricte mais on ne profitait pas des mises à jour de spip.
Donc je crois que la question se pose en fait pour spip.
BoOz
erational a écrit :
sur spip-listes, il me semble qu'il y a un pb de verification sur les emails au moment de l'abonnement
test ne passe pas
test@test passe
ne faudrait pas verifer la presence d'au moins un point apres l'arobase dans la regex d'email_valide() ?
if (!preg_match('#^[^()<>@,;:\\"/[:space:]]+(@([-_0-9a-z]+\.)*[-_0-9a-z]+)$#i', $adresse))
oui, je serais pour une regex un peu plus stricte
sur la fonction email_valide() de spip
du genre:
if (!preg_match("/^([\w|\.|\-|_]+)@([\w||\-|_]+)\.([\w|\.|\-|_]+)$/i", $adressel)) {
Hello,
J'ai remis sur spip-listes la fonction email valide de spip. Auparavent, la regex était plus stricte mais on ne profitait pas des mises à jour de spip.
Donc je crois que la question se pose en fait pour spip.
BoOz
erational a écrit :
sur spip-listes, il me semble qu'il y a un pb de verification sur les emails au moment de l'abonnement
test ne passe pas
test (a) test passe
ne faudrait pas verifer la presence d'au moins un point apres l'arobase dans la regex d'email_valide() ?
if (!preg_match('#^[^()<>@,;:\\"/[:space:]]+(@([-_0-9a-z]+\.)*[-_0-9a-z]+)$#i', $adresse))
En fait selon la rfc (882?) "toto" est une adresse valide (locale comme dit Nicolas si je ne dis pas de bétises), donc spip se cale +/- la dessus.
Du coup, on peut décider de forker dans spip listes mais il faudra maintenenir ca en parallele.
L'ideal serait de surcharger la fonction pour en garder le nom dans le code, ou sinon, on peut mettre la regex stricte sur le formulaire d'abonnement, et laisser email valide ailleurs, ca evite de changer partout.
BoOz
erational a écrit :
oui, je serais pour une regex un peu plus stricte
sur la fonction email_valide() de spip
du genre:
if (!preg_match("/^([\w|\.|\-|_]+)@([\w||\-|_]+)\.([\w|\.|\-|_]+)$/i", $adressel)) {
Hello,
J'ai remis sur spip-listes la fonction email valide de spip. Auparavent, la regex était plus stricte mais on ne profitait pas des mises à jour de spip.
Donc je crois que la question se pose en fait pour spip.
BoOz
erational a écrit :
sur spip-listes, il me semble qu'il y a un pb de verification sur les emails au moment de l'abonnement
test ne passe pas
test (a) test passe
ne faudrait pas verifer la presence d'au moins un point apres l'arobase dans la regex d'email_valide() ?
if (!preg_match('#^[^()<>@,;:\\"/[:space:]]+(@([-_0-9a-z]+\.)*[-_0-9a-z]+)$#i', $adresse))
En fait selon la rfc (882?) "toto" est une adresse valide (locale comme
dit Nicolas si je ne dis pas de bétises), donc spip se cale +/- la dessus.
On peut aussi mettre quelque chose de mieux dans le core. Il faut tenir
compte du fait que '' et 'fil@rezo.net, booz@rezo.net' sont deux champs
emails "valides" au sens de SPIP.