Article mis à jour le 09/03/2017, publié initialement le 04/12/2014
Les systèmes dits CAPTCHA sont des mécanismes qu'on associe généralement à des formulaires web à remplir, permettant de distinguer les internautes (humains) des robots spammeurs. Les plus courants restent des codes difficiles à déchiffrer (lettres ou chiffres) que l'internaute doit retaper, mais avec reCAPTCHA (que Google avait racheté) c'est plus simple pour l'internaute.
Voici une présentation en vidéo :
reCAPTCHA invisible
Depuis mars 2017, Google propose une nouvelle version baptisée "Invisible reCAPTCHA" qui n'exige même pas que l'utilisateur clique sur une case à cocher ! Voilà à quoi ça ressemble :
Ce CAPTCHA invisible est appelé directement lorsque l'utilisateur clique sur un bouton existant sur votre site. Il peut aussi être invoqué via un appel d'API JavaScript. L'intégration nécessite un rappel JavaScript lorsque la vérification reCAPTCHA est terminée. Pour les détails, consultez le site de Google reCAPTCHA.
Par défaut, c'est seulement en cas d'activité suspecte que l'internaute doit résoudre un CAPTCHA traditionnel (voir ci-dessous dans la partie reconnaissance d'images). Si vous l'avez installé sur votre site, il est possible de modifier ce comportement : il faut modifier votre préférence de sécurité de site dans les paramètres avancés.
Je laisse dans la suite de cet article la description des versions plus anciennes de reCAPTCHA
reCAPTCHA v2 : une case à cocher et c'est tout
En 2014, Google indiquait que les progrès de l'intelligence artificielle étaient tels qu'un bon logiciel peut "casser" un CAPTCHA dans 99,8% des cas (c'est-à-dire identifier les mots même très déformés). Partant de ce constat, l'équipe en charge du développement de reCAPTCHA a totalement changé de stratégie : l'internaute n'a plus besoin de reconnaître ces affreux mots souvent impossibles à reconnaître. Dans la plupart des cas, il suffit à l'utilisateur de cocher une case pour affirmer qu'il est bien un humain et non un robot.
Voilà à quoi ça ressemble :
Je vous propose ma vidéo de démonstration et de tests de reCAPTCHA v2 :
Dans le cas où les critères utilisés ne suffisent pas à confirmer qu'il s'agit bien d'un humain, l'outil bascule sur le système classique, comme vous pouvez le voir en images dans les 2 exemples ci-dessous. Cette seconde vérification est légèrement différente selon qu'on est sur mobile ou pas. Elle passe par des systèmes de reconnaissance d'images.
Double vérification, sur ordinateur :
Double vérification, sur mobile :
Voici le clip de promotion de No CAPTCHA reCAPTCHA sorti en 2014 :
Google ne fournit aucune précision sur les éléments permettant de vérifier que l'utilisateur est effectivement humain, sans doute pour ne pas aider les spammeurs... D'après mes premiers tests, Google se base sur les cookies et nécessite Javascript (pour exécuter de l'AJAX).
Selon Denis Métral-Deschamps, voilà ce que Google fait :
- un cookie au chargement de la page
- un POST sur l'action de click (avec encore un cookie). Le post retourne un objet JSON, un tableau à 2 clés :
- "rresp" qui doit surement vouloir dire Reload RESPonse
- une longue chaine de caractère, qui doit être un hash ou un id de session particulier
- un second POST (avec le même cookie) qui retourne un objet JSON. Il contient un tableau a 2 valeurs :
- "uvresp" (qui doit surement vouloir dire "User Verify RESPonse"
- la même chaine de caractères retournée par le 1er POST
Si vous avez d'autres idées sur les éléments pris en compte par Google, dites-le dans les commentaires !
Pour info, reCAPTCHA v1 n'est plus supporté depuis mai 2016.
Mon avis sur reCAPTCHA
Si ça marche vraiment bien, je l'utiliserai peut-être sur mes sites, mais jusque-là je n'ai jamais voulu infliger à mes utilisateurs la saisie de ces CAPTCHA vraiment trop pénibles. Dans certains cas, il est tout à fait possible de trouver d'autres solutions bloquant le spam et non contraignantes pour l'internaute (regardez mon formulaire de contact par exemple). Allez-vous le mettre ?
Petite conséquence de ce changement de stratégie chez Google : cela ne leur permettra plus de bénéficier d'un travail gratuit involontaire de la part des millions d'internautes. Vous ne le saviez peut-être pas, mais en déchiffrant ces mots ou nombres, vous avez travaillé pour Google ! Par exemple, Google a pris dans les rues des photos de numéros d'appartements ou de maison et vous demande de les reconnaître via son système reCAPTCHA. Quand une masse d'internautes indique le même nombre (numéro de porte), alors Google peut l'utiliser dans Street View et Google Maps pour géolocaliser des adresses avec une excellente précision. Idem à une autre époque avec la numérisation de livres.
Si vous avez des questions, posez-les dans le forum WebRankInfo.
Si vous préférez du consulting, j'en propose sur mon site WebRankExpert.
Bonjour, j'ai bien le reCaptcha invisible sur mon site, par contre j'ai un soucis que je n'arrive pas à résoudre. J'ai l'icone du reCaptcha en bas à droite de mon site. Il ne géne pas la lecture de la page tant que je suis sur du format large.
Par contre lorsque je passe sur du format mobile, il devient envahissant. Est-ce qu'il y a une possibilité de diminuer la taille de cet icone en responsive.
Merci pour votre réponse
Recaptcha est insupportable à utiliser. Il faut souvent recommencer maintes fois avant d'obtenir un résultat. Parfois il y a toutes les raisons de devenir fou. Recaptcha dissuade d'accéder à des sites qui l'utilisent. l'informatique se perd dans les systèmes de protection à tel point qu'elle devient de plus en plus inutilisable. En grande partie à cause notamment du hacking et de l'insécurité informatique imposant des systèmes de protections qui freinent le bénéfice de l'outil informatique. Je me demande vraiment si l'être humain est suffisamment évolué pour bénéficier de ce dernier en toute plénitude?
De quelle version de reCAPTCHA s'agissait-il ? au contraire, je n'ai jamais eu le moindre pb avec la version où il suffit de cocher une case... Tellement mieux que de devoir taper un code indéchiffrable !
En quoi reCAPTCHA est-il utile pour un site qui n'implique pas de moyen de paiement ni de connexion à un compte ?
C'est utile dès que la validation d'un formulaire sur le site envoie un mail, pour empêcher le spam
Jamais utilisé de Captcha : comme le dit Olivier, il existe bien d'autres méthodes (plusieurs pages avant validation notamment).
Dans les éléments pris en compte, je dirais qu'il est possible de voir le temps mis avant de cliquer (genre à moins de 1 ms ça n'est pas possible pour un humain), voir la souris a bougé, voir si on vient d'un referrer, si on a scrollé la page avant... Pures hypothèses, mais avec l'Ajax maintenant on peut espionner ce qu'on veut.
en effet rick, c'est probable
D'après ce que j'ai pu voir, en étant connecté à son compte google, ça passe direct.
En étant en navigation privée, je suis tombé sur le système de catcha plus classique.
Ce n'est pas le seul critère à l'évidence, mais il compte.
Marre des captcha partout.
Moi j'ai développé mon propre système car je ne voulais pas embêter les gens avec un captcha et parce que je n'ai pas de site suffisant gros pour que des gens fassent un robot sur mesure pour lui...
Mais je trouve ça triste que tout le monde s'empresse de mettre des captcha sur leur site sans chercher d'autres solutions ou sans attendre même de voir s'ils sont visés par le spam...
Donc je dis très bien sur ce coup là.