Vous n'êtes pas identifié(e).

Annonce

ATTENTION

  • Prenez le temps de rechercher si quelqu'un n'a pas déjà proposé une solution à votre problème. Sur le forum français et sur le wiki
  • Pensez à mettre à jour votre version de Cms Made Simple. Nous ne faisons de support que sur LA dernière version de CmsMadeSimple.
  • Renseignez impérativement le formulaire de nouveau message de manière la plus complète que possible. Ces informations demandées nous permettent de mieux vous aider
  • Ajoutez [Résolu] au début du titre de votre 1er message lorsqu'une solution a été trouvée.

#26 17/04/2012 17:06:24

Ouik
Modérateur
Lieu : Bourgogne
Inscription : 08/01/2008
Messages : 472
Site Web

Re : Formbuilder - Antispam simple

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

Hors ligne

 

#27 17/04/2012 22:01:46

Jean le Chauve
Sa Seigneurie le Chauve, Comte du domaine .be
Lieu : Bruxelles
Inscription : 13/12/2007
Messages : 3 384
Site Web

Re : Formbuilder - Antispam simple

Créer une UDT : validating

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/viewt … 842#p11842

Dernière modification par Jean le Chauve (17/04/2012 22:10:56)

Hors ligne

#28 17/04/2012 22:12:46

Ouik
Modérateur
Lieu : Bourgogne
Inscription : 08/01/2008
Messages : 472
Site Web

Re : Formbuilder - Antispam simple

Merci beaucoup JLC ! cool

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

Hors ligne

#29 17/04/2012 22:27:18

Jean le Chauve
Sa Seigneurie le Chauve, Comte du domaine .be
Lieu : Bruxelles
Inscription : 13/12/2007
Messages : 3 384
Site Web

Re : Formbuilder - Antispam simple

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.

Dernière modification par Jean le Chauve (17/04/2012 22:29:19)

Hors ligne

#30 03/05/2012 08:56:47

gilgab
Membre
Inscription : 19/04/2011
Messages : 8

Re : Formbuilder - Antispam simple

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

Dernière modification par gilgab (03/05/2012 09:05:15)

Hors ligne

#31 10/05/2012 23:25:25

Ouik
Modérateur
Lieu : Bourgogne
Inscription : 08/01/2008
Messages : 472
Site Web

Re : Formbuilder - Antispam simple

ça marche impec au fait  cool

Hors ligne

#32 11/03/2013 14:29:27

Ouik
Modérateur
Lieu : Bourgogne
Inscription : 08/01/2008
Messages : 472
Site Web

Re : Formbuilder - Antispam simple

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 ?

Hors ligne

#33 14/03/2013 21:05:34

Jean le Chauve
Sa Seigneurie le Chauve, Comte du domaine .be
Lieu : Bruxelles
Inscription : 13/12/2007
Messages : 3 384
Site Web

Re : Formbuilder - Antispam simple

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

/[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

Dernière modification par Jean le Chauve (14/03/2013 21:16:18)

Hors ligne

#34 15/03/2013 12:00:40

Ouik
Modérateur
Lieu : Bourgogne
Inscription : 08/01/2008
Messages : 472
Site Web

Re : Formbuilder - Antispam simple

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.

Hors ligne

#35 16/03/2013 14:16:17

Phil
Membre
Lieu : Asnières sur seine
Inscription : 15/01/2012
Messages : 41

Re : Formbuilder - Antispam simple

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

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

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


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

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

Dernière modification par Phil (16/03/2013 14:17:47)

Hors ligne

#37 18/03/2013 09:56:52

Ouik
Modérateur
Lieu : Bourgogne
Inscription : 08/01/2008
Messages : 472
Site Web

Re : Formbuilder - Antispam simple

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

Hors ligne

Pied de page des forums

  Flux Rss Twitter FaceBook
fermer

4 versions en démonstration

Ce n'est pas moins de 4 versions de CmsMadeSimple que nous vous proposons de tester de suite sur notre nouvelle plateforme de démonstration. [lire la suite]