éviter certains mots dans un champs

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : éviter certains mots dans un champs

par Invité » 10 juil. 2006, 14:04

Tout marche nickel !

Merci à tous ! :o

par Ryle » 10 juil. 2006, 09:53

La fonction d'ultiny antispam te permet de tester une chaine (en l'occurence l'un des champs renseigné dans ton formulaire) en regardant grace à l'expression régulière si tu y trouves des éléments interdits.

En gros, si la chaine que tu testes contient le mot "viagra" et que ton expression régulière la vérifie, la fonction retourne vrai. Cela te permet de savoir que le champ contient probablement du spam et agir en conséquence (informer l'utilisateur, ne pas enregistrer les données, remplacer les mots par des étoiles, ...)

ex :
// retourne vrai si l'expression "viagra" (quelle que soit sa casse grace au "i") est contenue dans $string
return (preg_match("/viagra/i", $string) != 0); 

par toutine » 09 juil. 2006, 18:22

Je ne vois pas trop pour ta fonction Ultiny. Je vois à peu près ce que l'expression régulière fait, mais comment mettre l'expression dans ta fonction ?

J'ai essayé, ça ne fonctionne pas des masses... :roll:

En fait cette expression remplace certains mots, mais moi je désire juste la détection puis action en fonction.

par toutine » 09 juil. 2006, 18:01

Merci beaucoup à vous deux ;) Je m'en vais étudier tout ça de plus près !

par Ultiny » 08 juil. 2006, 03:57

Oui tu peu te faire une petite fonction par exemple :
function antispam($string)
{
    return (preg_match("la petite expression qui va bien comme le disais Truc")) ? true : false;
}
ensuite on l'appel, n'esite pas à coller tous les champs ensembles pour les traiter d'un coup :
if (antispam($_POST['un_champs'].' '.$_POST['un_champs']))
{
   // Ici nous ne sommes pas satisfait des données reçus alors Grrr!! Ouaf Ouaf!
}

par Truc » 07 juil. 2006, 22:48

Salut,

Une petite expression régulière peut être

éviter certains mots dans un champs

par toutine » 07 juil. 2006, 12:32

Bonjour à tous !

Sujet aux spams, je voudrais faire quelque chose pour les éviter.

J'ai un formulaire de livre d'or.

J'aimerais lors de la validation, qu'il y ait un test sur ces champs afin de détecter plusieurs mots "spams". S'il en détecte, retour sur le formulaire sinon validation.

J'ai fait pour un des champs avec reconnaissance pour un mot, ça fonctionne.

Mais faire sur tous les champs avec plusieurs mots je suis bloqué... Pouvez-vous m'aider ?

Merci !