chercher un jeux de caracteres dans un mot

idoomy
Invité n'ayant pas de compte PHPfrance

06 mai 2009, 14:54

Bonjour,
dans le but de virer certains spammeur qui utilisent des email genre [email protected], [email protected].. j'aimerai savoir s'il y à un moyen de tester ces emails avec eventuellement une expression régulière :
chercher si l'expression "abc" existe n'importe où dans une variable.

Une piste de recherche serait la bienvenue.
Merci à tous.

Sylvain

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

06 mai 2009, 15:00

et que ferais tu des gens qui tappent "1@...", puis "azerty@" puis une autre, et une autre ?
Ta solution semble très compromise dès le début. :?

Si tu tiens à ce que l'adresse email fournie soit valide, le meilleur moyen reste de passer par l'envoi d'un email de confirmation de création du compte.
Cette solution n'empeche pas les adresses jetables, mais elle permet d'éviter les fausses adresses ;)
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Invité
Invité n'ayant pas de compte PHPfrance

06 mai 2009, 15:07

salut,
merci de votre réponse..
non je cherche à bloquer que certaines "entités" dont je connais le préfixe genre "supershop" ou "pascher"..

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

06 mai 2009, 15:25

ok.

Dans ce cas, plusieurs méthodes existent, et la plus simple me semble être stripos() (strpos(), mais en insensible à la casse)
if ( stripos($email, 'abc1'))
{
  echo 'Ce texte ne s'affiche que si la chaine "abc1" a été trouvée dans la variable "$email"';
}
Et si tu veux le faire sur un tableau, il faudra utiliser une boucle foreach()
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Invité
Invité n'ayant pas de compte PHPfrance

06 mai 2009, 15:40

mortel !
c'est plus simple que je pensais :)
merci
j'ai remarqué que j'avais un vieux php 4.4.9 donc j'ai l'impression que stripos ne fonctionne pas sous ver<5, merci ovh..

ViPHP
AB
ViPHP | 5818 Messages

06 mai 2009, 18:17

Au pire en complément de strpos tu peux utiliser strtolower pour avoir le même résultat que stripos
if ( strpos(strtolower($email), 'abc1')) 
Cela dit ovh devrait être ne mesure de te fournir php5 sur simple demande de ta part. S'il ne l'ont pas fait c'est peut-être parce que tu n'a pas demandé.

Eléphant du PHP | 451 Messages

06 mai 2009, 22:56

Moi je suis chez OVH et pour activer php5 il suffit de créer un .htacess avec le code suivant:

Code : Tout sélectionner

SetEnv PHP_VER 5
Et cela activera php5.

Voilà ++