Forum CMS Made Simple FR
Formbuilder - Antispam simple - Version imprimable

+- Forum CMS Made Simple FR (https://forum.cmsmadesimple.fr)
+-- Forum : Général (https://forum.cmsmadesimple.fr/forum-3.html)
+--- Forum : Modules, Tags (https://forum.cmsmadesimple.fr/forum-14.html)
+--- Sujet : Formbuilder - Antispam simple (/thread-36.html)

Pages : 1 2


Formbuilder - Antispam simple - Ouik - 17/04/2012

Sa seigneurie voudrait-elle m'indiquer comment elle s'y prend ? Wink


Formbuilder - Antispam simple - Jean le Chauve - 17/04/2012

Créer une UDT : validating
Code :
if ($params['email2'] != '[unspecified]') {
echo "il semble que vous êtes un robot spammeur. Veuillez utiliser le formulaire contact si ce n'est pas le cas.";
return array(false);
}
else return array(true);
remplacer [unspecified] par ce que vous avez mis dans l'onglet "paramètres d'affichage du formulaire" -> Texte à renvoyer pour les valeurs de champ non spécifiées : [unspecified]

Formulaire :
1° Ajouter un champ mail (nom : email2) sans validation avec une classe hidden (css : form.hidden {display:none;})
2° onglet "envoi du formulaire" : Balise utilisateur à appeler pendant la validation du formulaire : choisir l'UDT validating

Bonjour les bots, si ce champ a été rempli, le formulaire ne sera pas validé et le message "il semble que vous êtes un robot spammeur. Veuillez utiliser le formulaire contact si ce n'est pas le cas." apparaîtra.

Edit: champ email au lieu de champ texte, voir plus haut http://www.cmsmadesimple.fr/forum/viewtopic.php?pid=11842#p11842


Formbuilder - Antispam simple - Ouik - 17/04/2012

Merci beaucoup JLC ! Cool

En cours de test. J'avais quasi tout bon, sauf le php, évidemment...


Formbuilder - Antispam simple - Jean le Chauve - 17/04/2012

bess a écrit :non, on lit sur la toile que les bots se sont adaptés

a vrai dire il n'y a pas grand chose qui soit pas pété par les bots... même recaptcha fait un gros fail quand tu sais que certains programmeurs indiens sont payés au Captcha saisit ... que veux tu faire ?

bref pour l'instant c'est Recaptcha , non personnalisable, et ce jusqu'à nouvel ordre.
C'est que ton site est trop bien coté Smile
Pour ma part, jamais de spam avec ce système quand je l'utilise.


Formbuilder - Antispam simple - gilgab - 03/05/2012

Jean le Chauve a écrit :J'utilise un champ hidden et s'il se rempli, ça ne valide pas. Depuis, jamais de spam.
Bonjour Jean le Chauve, J'ai une petite question, comment fais tu pour vérifier que ce champ caché reste vide ?

Grand merci

OUPS excusez moi je n'ai pas vu la deuxieme page. Question sans fondement donc.
Merci


Formbuilder - Antispam simple - Ouik - 10/05/2012

ça marche impec au fait Cool


Formbuilder - Antispam simple - Ouik - 11/03/2013

J'ai un souci avec cet UDT : si je l'appelle pendant la validation du formulaire, les autres vérifications (style le champ email est bien renseigné avec un email, les champs obligatoires ne sont pas vides) ne fonctionnent plus, et donc un mail peut partir sans adresse email valide, sans nom, sans texte, etc. J'ai loupé un truc ?


Formbuilder - Antispam simple - Jean le Chauve - 14/03/2013

Effectivement !
Je ne sais pas si c'est dû aux nouvelles versions ou si ce problème apparaissait à l'époque du post.
Pour moi, c'est un bug ou alors :
return array(false);
}
else return array(true);
n'est plus accepté.

Autre solution :
1° Ajouter un champ ligne de texte simple (nom : email2) et tu choisis "validation du champs : ne pas valider l'expression régulière" + une classe hidden (css : form.hidden {display:none;})
2° Dans les options avancées du champ, Validation Regex : tu entres
Code :
/[a-zA-Z0-9]/
C'est tout ; si un robot (ou même un humain) essaye de remplir ce champ, l'erreur "Veuillez entrer une valeur correcte pour "mail2" apparaîtra et le formulaire ne sera pas validé (pas évident de comprendre que le champ doit rester vide) Smile


Formbuilder - Antispam simple - Ouik - 15/03/2013

J'ai l'impression que c'est apparu récemment, à l'époque j'avais fait les tests qui vont bien, et ça ne se passait pas.

Merci pour ta nouvelle solution ! Cool
Je vais tester ça.


Formbuilder - Antispam simple - Phil - 16/03/2013

Bonjour

Pour utiliser l'UDT et concerver le processus de validation :

il y a un petit bug à corriger

http://dev.cmsmadesimple.org/bug/view/8691

il faut sortir une condition d'une boucle


pour ceux qui auraient du mal à le faire


modules/FormBuilder/classes/Form.class.php

il faut ajouter une accolade fermante à Ligne 548 avant la condition :comme ceci

Code :
}
if( $validated == true && !empty($udt) && "-1" != $udt )


et il faut enlever (ou commenter) une accolade fermante à la ligne 581


Code :
//}
return array($validated, $message);


La solution de Jean le Chauve (post #27) foncionne alors sans les problème indiquer par Ouik (post #32)


Formbuilder - Antispam simple - Jean le Chauve - 17/03/2013

Merci beaucoup de ton retour, Phil Smile


Formbuilder - Antispam simple - Ouik - 18/03/2013

Ah oui, merci ! Cool
Je n'avais pas eu le temps ni le courage de vérifier les bugs de FormBuilder.