31
MAI

slideLock - un système de CAPTCHA alternatif

Publié le 31/05/10 à 11h10 par Ouark

slideLock est une alternative aux captchas traditionnels pour protéger ses formulaires web.

Formulaire Captcha - slidelock

Sous forme de slider jQuery UI, slideLock permet d'insérer à ses formulaires un captcha qui reprend le principe du système de verrouillage des iPhone.

L'utilisateur doit faire glisser le curseur pour "dévérouiller le formulaire" et activer le bouton de validation. Des champs cachées de vérifications sont ajoutéés pour compléter la sécurisation coté serveur.

 

Utilisation de slideLock

Le plugin permet de personnaliser les textes, icones et valeurs de tests :

     <script type="text/javascript" src="jquery.slideLock.js"></script>
    <script type="text/javascript">
    	$(document).ready(function() {
			// options listed for display purposes
			// style these options with css to fit your application
			$("#contact").slideLock({
				labelText: "Glisser pour Dévérouiller :",
				noteText: "Prouver que vous êtes un humain :)",
				lockText: "Vérouillé",
				unlockText: "Dévérouillé",
				iconURL: "chrome/arrow_right.png",
				inputID: "sliderInput",
				onCSS: "#333",
				offCSS: "#aaa",
				inputValue: 1,
				saltValue: 9,
				checkValue: 10,
				submitID: "#submit"
			});
		});
    </script>

Quand au formulaire, il n'a pas besoin d'être modifié :

       <form id="contact" class="hform" method="post">
            <fieldset>
                <legend>Contact</legend>
                <p><label for="name">Nom:</label><input id="name" name="name" type="text" /></p>
                <p><label for="email">E-mail:</label><input id="email" name="email" type="text" /></p>
                <p><label for="comments">Message:</label><textarea id="comments" name="comments"></textarea></p>
                <input id="submit" name="submit" type="submit" value="Soumetter" />
            </fieldset>
        </form>

Site officiel

Baraguiné par Cadrach le 31/05/10 à 11h33
Cadrach sur La Ferme du Web
C'est pas top comme captcha non, vu que la valeur à renvoyer est présente dans la page? : /

C'est grosso modo une checkbox "check to prove you're human", ou alors j'ai raté un truc?
Baraguiné par farfadet le 31/05/10 à 11h36
farfadet sur La Ferme du Web
C'est beaucoup plus simple qu'une captcha. :-)

En quoi consiste la sécurisation coté serveur ?
J'ai essayé sur le site officiel leur formulaire sans js mais comme je suis un humain je n'ai pas pu voir et je ne me suis pas penché sur code...
Baraguiné par Ouark le 31/05/10 à 11h36
Ouark sur La Ferme du Web
Non, ça ajoute un champ input hidden, une fois que c'est déverrouiller.
Baraguiné par agence_comm le 31/05/10 à 12h34
agence_comm via Twitter
Mouais... j'avais inventé un concept encore plus simple et d'efficacité identique. J'utilise ce système sur un site qui a une grosse fréquentation et ça marche bien.

C'est simple :
- j'ajoute un champs hidden "chk" vide dans le formulaire de commentaire
- je met du javascript qui insere une valeur préféfini (ex: "ok") dans le champs hidden quand on fait un rollover sur le champs "message" par exemple (on peut imaginer plein de chose à partir d'evenement utilisateur et même des combinaisons complexes).
- lors de la validation coté serveur, il y'a juste à vérifier que le champs chk contient la bonne valeur.

Ce système simple et invisible pour l'utilisateur réduit de 90% le spam car les robots n'executent pas tous le temps le javascript et ne simule pas un rollover par exemple...

On peut le pousser plus loin avec plusieurs champs hidden ou plusieurs évenements (focus, rollover, frappe, clique) utilisateurs sur le formulaire (et oui l'internaute va forcément taper un message).

Le gros inconvénient c'est que les messages d'internautes qui ont désactivés javascript sont de fait pris pour du spam.

Je l'ai pas mis en oeuvre mais il y'a une façon simple de parer à cet inconvénient :
Pour les robots ou internautes qui ont désactivés javascript pour qui l'antispam n'a pas validé le message (champs chk vide), on bascule sur une nouvelle étape de validation avec un vrai captcha qui n'est pas en javascript.
Ainsi pour 99% des internautes, pas de Captcha et pour les 1% qui ont désactivés js, on propose un captcha. Ceci doit pouvoir être fait en une seule étape d'ailleurs en détectant si l'internaute peut executer du JS ou non.
Baraguiné par Ouark le 31/05/10 à 12h58
Ouark sur La Ferme du Web
Dans le même style, nous on utilise plus cette méthode : http://www.lafermeduweb.net/billet/lutter-contre-le-spam-efficacement-conseil-1-182.html qui a fait ses preuves.
Baraguiné par Mealin le 01/06/10 à 01h08
Mealin sur La Ferme du Web
J'aime beaucoup l'esthétique et le côté "intuitif" de ce système. Très simple à comprendre et handicape pas outre mesure le visiteur comme certains captcha ...
Baraguiné par fredoche le 01/06/10 à 09h25
fredoche sur La Ferme du Web
L'idée est intéressante, mais malheureusement pas compatible avec les règles d'accessibilité handicapé ...
Baraguiné par bixente le 01/06/10 à 11h25
bixente sur La Ferme du Web
L'idée est bien pensé mais dans le fond ça ne marche pas, aucune vérification coté serveur, cela passe en clair dans la soumission du formulaire et ce n'est pas aléatoire ... donc très facile de passer à travers avec un script automatique !
Baraguiné par DJo le 01/06/10 à 11h45
DJo sur La Ferme du Web
Il est clair que ce genre de script n'est pas fait pour de la vérification serveur, couche qui doit absolument être ajoutée.
Ce script est à considérer comme widget en frontend, pour proposer une solution alternative aux captchas illisibles.
Baraguiné par le 01/06/10 à 12h01
Bien trouve ce systeme en effet ! Pompe sur l'iPhone c'est sur :p
Baraguiné par le 02/03/11 à 19h33
le lien est mort :(

Help me plz !!!
Baraguiné par le 02/03/11 à 19h36

Ajouter un Commentaire

Pour poster un commentaire, vous devez être identifié. Vous pouvez choisir parmi ces trois méthodes d'identification:

Compte la Ferme du Web

Identifiez-vous
Inscrivez-vous

Compte Facebook

Connexion avec Facebook

Compte Twitter

Connexion avec votre compte twitter
Rechercher sur la Ferme du web