Un test de captcha accessible

Suite à une discussion sur le forum de ZazouMiniWebServer (un serveur web complet sous Windows, j'y reviendrai), je me suis fendu d'un petit script permettant de proposer un test de captcha accessible (du moins je le pense).

Pour mémoire, un captcha est une forme de test de Turing permettant de différencier un utilisateur humain d'un ordinateur. Ces tests sont en général basés sur des images déformées ce qui pénalise les personnes qui naviguent en mode texte, audio ou qui désactivent l'affichage des images pour quelques raisons que ce soit. Un test de captcha est en général utilisé pour empêcher les "robots" spammeurs de soumettre des formulaires à mauvais escient.

Le présent test - au format texte - est une question sur la position de la Nième lettre dans un mot. Le mot proposé est tiré aléatoirement dans une liste pré-définie et la position de la lettre est, elle aussi, aléatoire ; un exemple pourrait être : Quelle est la cinquième lettre du mot « zinjanthropes » ? ou Quelle est la dernière lettre du mot « ziguassent » ?.

Les fonctionnalités sont les suivantes :

  • Liste de mots stockée dans un fichier externe ;
  • Le mot est sélectionné aléatoirement ;
  • La position de la lettre est aléatoire ;
  • Le script gère les cas "avant-dernière lettre" et "dernière lettre".

Du point de vue technique, on a aussi :

  • Utilisation des sessions pour le stockage du mot, de la position et de la question ;
  • Utilisation de l'excellente classe Nombres en lettres d'Olivier Miakinen ;
  • Encodage du mot et de la position via des entités HTML pour une protection supplémentaire contre les robots spammeurs.

Au niveau des évolutions, il sera(it) bien de transformer ce code en une classe plus simple à utiliser et personnaliser, proposer plusieurs types de questions (pas seulement la position d'une lettre dans un mot), d'autres types de protections, ...

Comme d'habitude, n'hésitez pas à me faire par de vos remarques, suggestions, améliorations.

Posté le lundi 24 juillet 2006 dans , .

Commentaires

Ajouter un commentaire

Il n'est plus possible de réagir à cette entrée directement mais si vous pensez que votre intervention peut être intéressante, envoyez-moi votre commentaire, je l'ajouterai ici en votre nom.