Le CAPTCHA et les formulaires

Qu'est-ce qu'un CAPTCHA ?

Le mot CAPTCHA est l'acronyme de Completely Automated Public Turing-test to tell Computers and Humans Apart est a le but à empêcher un robot à remplir un formulaire d'une manière automatique. Un CAPTCHA devrait donc empêcher le spamdexing par les forums et blogs, déjouer l'inscription automatique à des webmails, empêcher les bots malveillants à extraire des informations des bases de données, combattre la fraude dans les sondages et bloquer les tentatives d'intrusions et les cracks des mots de passe.
 
Le moyen est assez simple et nécessite que de connaissances de base d'une langage dynamique comme PHP, ASP ou JSP. Les CAPTCHAs sont soit des images avec des chiffres et lettres distordues soit une question simple, souvent une question mathématique. L'internaute doit copier les lettres et chiffres de l'image ou répondre à la question pour que le formulaire puisse être envoyé.

Histoire des CAPTCHAs

Dès le début de l'Internet les programmeurs ont essayés à rendre un texte illisible pour les robots. Mais seulement en 1997 AltaVista est arrivé à développer le prototype simple d'un CAPTCHA pour empêcher des robots à ajouter de sites d'une manière automatique à leurs bases de données.
 
Mais l'apparition des premières CAPTCHAs fiables, au moins à l'époque, tardait encore. Seulement en 2000 Luis von Ahn, Manuel Blum et autres scientifiques de la Carnegie Mellon University développaient le principe et l'algorithme des CAPTCHAs d'aujourd'hui dont Yahoo était le premier à les utiliser régulièrement.
 
Les créateurs de la marque déposée CAPTCHA abandonnaient toutefois en avril 2008 leur projet d'origine pour conseiller l'utilisation gratuite d'un reCAPTCHA dont la technologie provient également de la Carnegie Mellon University.

Les divers CAPTCHAs

Les CAPTCHAs les plus courantes se basent sur une image qui montre de chiffres et lettres distordues que l'utilisateur doit insérer dans un champ d'un formulaire qui a été rempli préalablement.
 
Une alternative constituent les CAPTCHAs qui demandent à l'utilisateur à effectuer un calcule simple de mathématique ou à compléter un mot.
 
Encore d'autres reCAPTCHAs utilisent plusieurs pièces de puzzle que l'utilisateur doit mettre dans un certain ordre ou insérer le nom générique des objets visibles.
 
Encore d'autres CAPTCHAs utilisent la synthèse vocale pour demander les visiteurs à remplir le champ en question pour permettre aux personnes malvoyantes à envoyer les informations du formulaire.

Technologie des CAPTCHAs, un cours contre la montre

La technologie de CAPTCHAs se base toujours sur un algorithme et comporte donc une faiblesse. Dans le même rythme que les CAPTCHAs évoluent, les entreprises qui vivent de la distribution du spam, les hackers et les crackers cherchent à déchiffrer ces algorithmes avec beaucoup de succès.
 
Ils se posent donc plusieurs problèmes dans l'application d'un CAPTCHA. De plus performant un CAPTCHA devient de plus compliqué est la reconnaissance des caractères dans une image ou le calcule mathématique nécessaire pour les utilisateurs. L'emploi d'un CAPTCHA sûr devient donc une barrière pour de nombreux visiteurs d'un site et peut mener à une baisse de visiteurs et des chiffres d'affaire.
 
Les premières CAPTCHAs ne nécessitaient pas de connaissances approfondies en programmation, mais évolution de la technologie concernant les robots malveillants a changé la situation. Aujourd'hui, seulement en programmeur hautement spécialisé en questions de sécurisation est encore capable à programmer un propre CAPTCHA sûr. Dans la majorité des cas il doit, par contre, confier ce travail à un spécialiste ou utiliser la technique des reCAPTCHAs.

Niveau de sécurité d'un CAPTCHA

Il n'y a aucun CAPTCHA entièrement sûr et le niveau de sécurité dépend de l'algorithme employé lors de la création du CAPTCHA. Un script simple trouvé sur Internet, n'import s'il s'agit d'un script en PHP, ASP ou JSP, n'a donc aucune sécurité et empêche seulement une partie de visiteurs à envoyer un formulaire, donc à participer à un sondage, à participer dans un forum ou à répondre dans un blog.
 
Il y a évidemment quelques mesures qui peuvent augmenter la sécurité d'un CAPTCHA, mais chaque "amélioration" nécessite du travail supplémentaire, de connaissances pointues et, ils sont la meilleure méthode à bloquer les robots et donc à empêcher le référencement de la suite des pages.

CAPTCHA et accessibilité

Comme l'optimisation pour le référencement se base aussi sur les questions de l'accessibilité des pages, il est logique que la grande majorité des CAPTCHAs ne soient pas conformes avec les règles de l'accessibilité.
 
Un CAPTCHA visuel empêche les personnes avec de déficientes visuelles à remplir un formulaire qui utilise un tel CAPTCHA. Et un CAPTCHA vocale ne sert à rien si la personne devant l'ordinateur n'entend rien. Déjà aujourd'hui un nombre très important de personnes ne peut plus utiliser les services de PayPal, Yahoo ou même Gmail de Google.
 
Tant qu'il s'agit des entreprises de cette importance, cela ne pose pas de questions de survie pour les entreprises, ce qui peut être le cas pour les petites entreprises, même si l'emploi d'un CAPTCHA s'avère dans la majorité des cas comme discrimination et contredit aux idées de l'Internet.
 
Les liens suivants mènent vers les pages qui proposent des informations supplémentaires sur la technologie CAPTCHA et reCAPTCHA :
Pourquoi les captchas basés sur les questions, les calculs ne sont pas fiables ?
Inaccessibility of CAPTCHA - Alternatives to Visual Turing Tests on the Web
CAPTCHA: Telling Humans and Computers Apart Automatically
What it is a CAPTCHA?