Alternatives aux CAPTCHA

Ce billet a été largement inspiré de l’article alternatives to CAPTCHA (en anglais). De là, j’ai apporté quelques commentaires personnels, ajouté des exemples et des ressources pour aller plus loin sur le sujet.

CAPTCHA est l’acronyme de CompletelyAutomated Public Turing test to tell Computers and HumansApart, autrement dit, un test entièrement automatisé permettant de faire la distinction entre un humain et une machine. Cela désigne donc une méthode de vérification utilisée par les sites web pour s’assurer que le contenu n’est consultable que par des personnes. Par exemple, lorsque vous vous inscrivez à un forum ou une liste de discussion, on vous demande de reproduire une suite de caractères contenus dans des images floutées. Tant que vous faites une erreur en les inscrivant, vous ne pouvez poursuivre le processus. C’estle système de CAPTCHA le plus répandu sur le web.

TL ** ma première remarque est que, quel que soit le système de CAPTCHA utilisé, celui-ci présentera de toute façon des difficultés pour des personnes avec ou sans handicap. Simplement parce que cela requiert des actions supplémentaires qui, si elles font généralement sens pour les développeurs ou les propriétaires de sites, n’en font pas pour l’utilisateur final. Avant d’implémenter un système de CAPTCHA, quel qu’il soit, faites une pause.uis demandez-vous si c’est vraiment, absolument nécessaire. Par exemple, s’il est aisé de comprendre l’utilité d’un tel système lorsque des données sensibles sont transmises et stockées (compte bancaire, dossiers médicaux) ou lorsque les données peuvent être corrompues avec un risque critique de dommage potentiel (base de données clients pour un service d’achat en ligne, base de données publiques), cela est davantage sujet à controverse pour un simple antispam sur un forum ou un formulaire de commentaire de blog. Cela vaut-il la peine de dépenser autant d’argent et de temps, même pour se prémunir de 10 spams par jour qui sont souvent faciles à identifier et à supprimer ? Cela vaut-il la peine d’enquiquiner vos visiteurs pour votre propre confort ? J’ai récemment vu passer un tweet d’un utilisateur qui pestait d’avoir à résoudre un CAPTCHA pour réagir à une émission en direct. Il y a de quoi. Et que dire du coût des ces solutions, même lorsqu’elles prétendent être portables, faciles à implémenter, et j’en passe, si vous prévoyez d’avoir aussi une version mobile de votre site ?

Non, vraiment ! avant de dépenser des milliers d’euros dans un CAPTCHA, pensez à votre propre état de nervosité, de contrariété, d’irritation dans lequel vous-mêmes vous vous trouvez lorsque vous naviguez quotidiennement sur le web et que vous avez à les affronter. Supposons que vous ne parveniez finalement pas à convaincre votre client ou votre hiérarchie de ne pas mettre en place une telle fonctionnalité horripilante pour tout le monde et que votre carrière toute entière en dépend,voici plusieurs façons de les rendre plus ou moins accessibles, avec leurs avantages et leurs inconvénients. Elles sont toutes extraites de l’article original. Mes deux centimes concernant chaque solution sont signalés par la mention TL : ** mes deux centimes **

 

CAPTCHA vocal

Dans cette méthode, l’utilisateur a la possibilité d’écouter le code de vérification, au lieu de le lire à l’écran. L’utilisateur doit activer un bouton qui déclenche la lecture du fichier audio contenant le code. L’utilisateur peut alors entrer le code dans le champ prévu à cet effet et poursuivre le processus.

Cette option est adaptée pour les internautes aveugles ou ayant des difficultés visuelles. Toutefois, les personnes sourdes et celles ayant un handicap cognitif auront du mal à l’utiliser.

TL : ** Il est évident que toute forme de CAPTCHA constitue une barrière pour des personnes ayant un handicap cognitif. Sauf si l’on tient compte des personnes sourdes-aveugles pour qui ni les CAPTCHA visuels ni audio ne sont adaptés, je ne vois pas l’intérêt de dire que la solution vocale n’est pas une bonne solution pour les personnes sourdes, surtout si elle est combinée au CAPTCHAvisuel d’origine. Il aurait mieux vallu insister sur le fait que le principal problème des CAPTHA vocaux est qu’ils sont faits de sons déformés qui les rendent quasiment inaudibles, même pour quelqu’un ayant de bonnes oreilles. **

 

Questions mathématiques

A la place d’un code graphique, l’utilisateur doit répondre à une question mathématique simple. Un exemple courant est « 2 + 2 ». L’utilisateur inscrit la réponse, et si elle est correcte, le sstème affiche la page suivante.

Cette option est bonne pour la plupart des individus. Les développeurs doivent cependant s’assurer que les questions mathématiques restent véritablement basiques. Les questions mathématiques complexes peuvent poser des problèmes aux personnes ayant un handicap cognitif.

TL : ** je ne suis pas sûr que ce type de solution empeche les calculateurs de calculer. Ou, comme disent les Suisses, les computeurs de computer **

 

Questions simples

A la place de questions mathématiques, les développeurs ont essayé des questions simples. Un exemple de ce type de questions est : « quelle est la seconde lettre de l’alphabet anglais ? »

Les questions simples fonctionnent généralement bien pour les internautes. Mais elles peuvent encore soulever des inquétudes pour certaines personnes. L’exemple ci-dessus peut être source de difficultés pour ceux qui ne parlent pas anglais pour fournir rapidement la réponse.

TL : ** C’est possible. Mais on peut adapter la question en fonction de la langue principale du site et du public potentiel. Une variante de cette solution peut être : « quelle est la troisième lettre du mot singe, en partant de la droite ? ». Cela demande davantage d’effort cognitif, je l’admets, mais est aussi plus difficile à résoudre pour un robot, je suppose.Le mot et l’emplacement de la lettre à trouver changeant de session en session. De plus, si la réponse est un caractère propre à la langue (e accent aigu pour le français ou n tildé pour l’espagnol), cela peut limiter encore les attaques de robots ne gérant pas ces caractères. **

 

Tâches simples

Au lieu des questions simples, des tâches simples peuvent être demandées en guise de CAPTCHA. Par exemple, un formulaire d’enregistrement peut contenir une case à cocher qui est cochée par défaut. Et cette case contient une étiquette du genre : « décochez-moi si vous êtes un humain. »

Tl : ** une vraie phrase de cow boy ! **

Les développeurs qui prennent cette option devront s’assurer que les tâches à accomplir sont effectivement très simples.

TL : ** Pour ma part, il me semble que les plus gros défis ici sont de s’assurer que la case à cocher est clairement identifiée et est facile à trouver. Ceci particulièrement pour les personnes ayant une faible vue, genre quinquagénaire ayant perdu ses lunettes. Sans quoi elle ne va cesser de cliquer sur le bouton Envoyer, ne comprenant pas pourquoi le formulaire n’est pas soumis. L’autre problème est qu’une case à cocher représente une toute petite surface surl’écran et qu’il n’est pas toujours aisé de la viser avec la souris. **

 

Champs cachés

Cette option s’appuie sur le fait que les robots remplissent un champ indépendemment du fait qu’il soit visible ou non. Les développeurs utilisent les CSS (feuilles de styles) pour masquer ces champs aux humains. Là, le system vérifie si le champ contient des données. Si tel est le cas, c’est qu’il a probablement été rempli par un robot.

Le principal défaut de cette option est qu’elle peut prêter à confusion pour une personne qui a désactivé les feuilles de style.

TL : ** C’est une de mes solutions préférées car elle ne demande aucune action de la part de l’utilisateur. Quant au problème soulevé, on peut le résoudre en ajoutant une étiquette du style : « ne pas remplir », ou équivalent. **

 

Vérification par texto

Dans cette option, le site demande à l’utilisateur son numéro de mobile. Une fois que l’utilisateur a fourni cette information, le site lui envoie un texto sur son téléphone mobile contenant le code de vérification. L’utilisateur peut alors entrer le code dans le champ approprié.

Le principal défaut de cette option est que tout le monde ne possède pas de téléphone mobile. De plus, une personne aveugle peut avoir un téléphone mobile mais pas le logiciel de lecture d’écran nécessaire. Un autre inconvénient est que le visiteur peut accéder à la page depuis un autre pays.

TL : ** Le second argument ici est complètement absurde. S’il était possible, il y a dix ou douze ans, d’être aveugle et d’avoir un mobile sans lecteur d’écran (j’en ai moi-même eu un), ça nel’est plus aujourd’hui, du fait de la complexité des interfaces. Je ne comprends pas non plus le dernier argument. On peut très bien être à l’étranger et recevoir des texto. Cela coûte plus cher, certes, mais c’est techniquement possible. Une variante de cette solution est de demander à l’utilisateur d’indiquer une adresse de courriel valide à laquelle il recevra un message contenant un lien sur lequel il devra cliquer. Sitôtquele lien est cliqué, cela supprime un code dans une base de donnée, indiquant ainsi que la confirmation a bien été faite par un humin. **

 

Page de confirmation

Ici, l’utilisateur entre les informations sur une page, puis clique sur le bouton envoyer pour passer à la page suivante. La page suivante récapitule lesinformations entrées par l’utilisateur et un bouton « confirmer ». Ceci empêche les robots d’injecter des informations dans le système car ils se contentent généralement de pages contenant des champ à remplir.

Les développeurs qui choisissent cette option doivent faire attention à ce que la page explique clairement ce qui se passe. Sans quoi, certains utilisateurs peuvent penser qu’après avoir cliqué sur le bouton Envoyer, ils peuvent quitter le site.

TL : ** Ca me paraît juste. Ne pas oublier cependant la fonction permettant de corriger les informations, comme on le voit encore sur des sites pourtant très sérieux. **

 

Déterminer le temps de remplissage du formulaire

Un être humain met généralement 30 secondes pour remplir un formulaire de 3 à 5 champs. La plupart des robots eux, mettent à peine quelues secondes.

Le système peut donc déterminer que le formulaire a été rempli en un trsè court lapse de temps (10 secondes pour trois champs). Grâce à cette information, il peut déterminer si le formulaire a été rempli par un robot ou un humain.

TL : ** Ca me semble pas mal non plus. D’autant que cela ne demande aucune action supplémentaire de la part de l’utilisateur. Néanmoins, lorsqu’un utilisateur a l’habitude d’effectuer les mêmes tâches sur un site donné, 10 secondes pour remplir trois champs, cela paraît amplement suffisant. Il risque donc d’être confondu avec un robot. **

 

Déterminer si javascript est chargé

Cette option concerne des pages qui exécutent des javascript. Si un javascript a été exécuté, on peut être certain que la page est vue par un humain. Les développeurs peuvent céer un moyen de contrôler cette activité.

Cette méthode ne fonctionne pas si l’utilisateur a désactivé javascript.

TL : ** L’un des plus grands mythes du monde de l’accessibilité ! L’arrivée des smartphones le remet au goût du jour.j’ai vu sur WordPress des antispam qui prévoient cette éventualité. Dans ce cas, l’utilisateur est invité à recopier un nombre (mis en dur) dans un champ.

Voici l’explication de cette technique et les débats très tranchés qui s’en suivent dans cet article <http://www.webdesignfromscratch.com/javascript/human-form-validation-check-trick/>. **

 

Utilisation d’une aide humaine

Ici, on demande à l’utilisateur d’envoyer une courte requête par mail à la personne qui gère le site. Celle-ci peut ensuite vérifier que la demande provient bien d’un être humain.

Bien que cette option soit très efficace, l’enregistrement peut prendre du temps.

TL : ** En ces temps de vaches maigres, peu d’entreprisessongent à dédier quelqu’un pour recevoir ce genre d’appel. Cela suppose également un interlocuteur parlant la langue de l’utilisateur et informé, sinon formé, au handicap. Il m’arrive fréquemment de constater que les téléopateurs confondent accessibilité et disponibilité. **

 

Vérification à l’aide d’images

On présente à l’utilisateur une série d’images, par exemple, un chat, un chien et un oiseau. La page demande ensuite à l’utilisateur de cliquer sur l’une des images, le chien par exemple.

Pour aider les aveugles à accomplir ce test, le développeur peut associer une alternative textuelle à chaque image. Dans le cas présent, l’image du chien sera « chien ». Mais les robots auront du mal à déterminer ce que la page souhaite que l’utilisateur fasse.

 

Reconnaissance de sons

L’utilisateur clique sur un bouton pour jouer un son. La page présente une série de boutons ou de liens contenant le nom des sons. L’utilisateur doit cliquer sur celui qui se rapproche le plus du son entendu.

Le problème principal est que cela exclut les personnes sourdes.

 

Conclusion

Nous voyons qu’il existe de nombreux CAPTCHAalternatifs.Seule l’imagination en est la limite. Toutefois, quelle que soit la solution choisie, assurez-vous qu’elle est accessibile aux personnes en situation de handicap.

TL : ** mais avant tout, posez-vous la question de savoir si un CAPTCHA est réellement indispensable. Si la réponse est : « oui, c’esst une question de vie ou de mort », choisissez alors celui qui demande le moins d’actions de la part de l’utilisateur. Mieux encore, proposez deux moyens différents. Si vous souhaitez fidéliser vos utilisateurs, offrez-leur la sécurité sans qu’ils aient à s’en préoccuper !

La bonne décision se prend en croisant les facteurs suivants :

Mesure du risque de sécurité (criticité des données),

Risques d’être la cible de purs robots ou de couples robot/humain. Un log, n’a pas le même taux de risque d’être ciblé par un couple robot/humain que le site d’une grosse firme. Parmi les blogs, les facteurs de risques varient eux aussi en fonction de l’exposition publique de son propriétaire et du contenu qu’il y met. En d’autre termes, un blog qui ne va intéresser qu’une centaines de personnes peut aisément se débarrasser d’une grande majorité des spams automatiques sans avoir à dégainer l’artillerie lourde. En revanche, un personnage public qui tient de surcroît des propos polémiques ou dérangeants devra fatalement se protéger davantage.

Le rapport entre le coût et le gain pour mettre en place de telles barrières, à mettre en regard de la gêne pour vos utilisateurs.

Votre degré de paranoïa personnelle.

Dommage que l’auteur de l’article d’origine n’ait pas fourni de lien vers des exemples réels illustrant ses explications ! J’en ai trouvé quelques uns que je reporte dans la section exemple ci-après.

A noter qu’il existe sur firefox, par exemple, une extension nommé webisum qui permet entre autre, aux déficients visuels de résoudre les CAPTCHA visuels(justement). Ce qui invalide de facto leur utilité et leur fiabilité théorique. Par ailleurs, la dernière version du lecteur d’écran Jaws (v13), est livrée avec un outil de reconnaissance optique de caractères OCR. Il n’est certes pas présenté comme étant destiné à résoudre des CAPTCHA. Mais peut-être en sera-t-il capable à l’avenir ? **

Au secours ! je découvre les captcha vidéo (anglais)

 

Exemples

Questions mathématiques : institut Croate. Accrochez-vous au pinceau, j’enlève l’échelle, c’est du lourd ! <http://random.irb.hr/signup.php>

Plus simple : <http://www.nicolas-hoffmann.net/source/1512-Sous-titrer-avec-Universal-Subtitles.html#listecommentaires>

Déterminer si javascript est chargé : ici même, sur ce blog.

Utilisation d’une aide humaine : yahoo (création d’une mailing list),gmail (création de compte).

Vérification à l’aide d’images : kittenauth (en anglais)<http://thepcspy.com/kittenauth/>

Création d’un compte gmail : fichier sonore totalement inaudible, et qui plus est, si j’entends bien, en anglais. La case à cocher « ignorer cette étape de validation » permet apparemment d’avoir un être humain au téléphone. Je ne l’ai pas testé.Le pire est que ce type de solution s’est largement répandu ces derniers mois sur Twitter, Linkedin et atures.<https://accounts.google.com/SignUp?service=mail&continue=https%3A%2F%2Fmail.google.com%2Fmail%2F%3Ftab%3Dwm&ltmpl=default>

Renseignements sur les carrières souterraines – Paris.fr : fichier audio bucolique et tout à fait compréhensible <http://i57-rens.paris.fr/rens-site/jsp/site/RunStandaloneApp.jsp?page=formengine&form=rens>.

Système d’identification de la banque Postale : parfaitement utilisable avec Jaws pour peu qu’on se serve des flèches et non de la tabulation, pour éviter que les voix ne se superposent. <https://voscomptesenligne.labanquepostale.fr/wsost/OstBrokerWeb/loginform?TAM_OP=login&ERROR_CODE=0×00000000&URL=%2Fvoscomptes%2FcanalXHTML%2Fidentif.ea%3Forigin%3Dparticuliers.>

Système d’identification de la BNP, supposé accessible. Personnellement, je ne comprends pas comment il fonctionne. De plus, j’ai l’impression qu’il n’est pas utilisable au clavier.A vérifier.<https://www.secure.bnpparibas.net/banque/portail/particulier/HomeConnexion?type=homeconnex&typeIdent=accessible&typeFlashAccessible=2.>

3 réflexions au sujet de « Alternatives aux CAPTCHA »

  1. Petite faute ortho : humain sur « indiquant ainsi que la confirmation a bien été faite par un humin. * »

    Sinon, je confirme que le coup de la limite de temps est irritante, cela m’arrive souvent sur les fonctions Recherche de certains outils de forums de discussion. Ma recherche ne renvoie rien, je veux la relancer, mais il me faut attendre un laps de temps « long » de 15s pour moi qui veut juste relancer la recherche.

  2. C’est énorme le module Firefox qui permet (entre autres) de résoudre les CAPTCHA !
    Je le connaissais pas mais c’est un très bon exemple à donner comme contre-argument à l’utilisation d’un tel système : « un module complémentaire – donc une machine – peut le faire, qu’en déduisez-vous ? »

    Merci pour cette découverte :-D et puis pour le balayage de toutes les solutions alternatives. J’aime beaucoup celle des champs cachés ou de la case à décocher.
    Mais ma préférée reste le basique lien d’activation envoyé par email. Ça coûte pas grand chose et ça donne une occasion de « communiquer » auprès du client.

    • Le serveur derrière Webvisum peut effectivement lire des CAPCHA avec un nombre d’erreurs assez limité (ça m’est arrivé qu’une fois, à vrai dire). Mais il faut attendre, peut-être rapport au nombre d’utilisateurs mais très probablement rapport à l’analyse du CAPCHA également. Cela demande du temps aux bots, et le temps c’est encore moins bon pour eux que pour nous. Un bot qui ne peut pas envoyer une dizaine de requêtes par seconde risque de se sentir inutile, pour le moins.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Vous pouvez utiliser ces balises et attributs HTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>