Introduits au début des années 2000, les CAPTCHA agacent les utilisateurs depuis des décennies. De la recherche d'images d'un bus à la saisie d'une étrange séquence de lettres ou à la résolution de problèmes mathématiques, les sites vous demandent de prouver que vous n'êtes pas un robot de nombreuses façons.

Mais vous êtes-vous déjà demandé comment fonctionnent les CAPTCHA et pourquoi les sites Web vous obligent à les résoudre ?

Qu'est-ce que le CAPTCHA ?

CAPTCHA signifie test de Turing public entièrement automatisé pour distinguer les ordinateurs des humains. Comme son nom l'indique, il fait la distinction entre les humains et les ordinateurs.

Le concept de base de CAPTCHA repose sur le manque d'intelligence informatique pour reconnaître les modèles. Un ordinateur peut reconnaître les lettres mais pas dans les cas où elles sont altérées ou présentes avec beaucoup de bruit de fond. Les humains, quant à eux, sont câblés depuis des générations pour repérer et identifier les modèles en tant que mécanisme de sécurité.

instagram viewer

Types de CAPTCHA

CAPTCHA est disponible en différents types, dont quelques-uns sont :

1. Image textuelle CAPTCHA

Le CAPTCHA textuel utilise un ensemble de mots ou de phrases ou une combinaison aléatoire de différentes lettres, chiffres et symboles. Il représente une séquence de personnages sous une forme aliénée un peu difficile à interpréter.

Ceux-ci incluent la distorsion, la rotation, le retournement, l'oscillation, le style de capitalisation et le chevauchement avec des caractères adjacents. Pour améliorer cette technique, un CAPTCHA peut inclure des graphiques tels que des lignes, des arcs ou des points de manière aléatoire, répartis sur toute l'image.

2. CAPTCHA audio

Le CAPTCHA audio sert d'alternative aux CAPTCHA textuels et s'adresse aux utilisateurs malvoyants. Audio CAPTCHA présente un enregistrement audio d'une séquence de lettres ou de chiffres que l'utilisateur doit saisir correctement. Encore une fois, il y a de la distorsion, cette fois sous la forme d'un bruit de fond supplémentaire. Une chose intéressante à noter est que le module Python CAPTCHA ne fonctionne qu'avec des nombres.

3. Image CAPTCHA

Les CAPTCHA d'image sont une alternative aux CAPTCHA d'image textuels. Ce sont les CAPTCHA typiques que vous aborderez quotidiennement.

Ces CAPTCHA vous demandent d'identifier un objet particulier tel qu'un bateau, un camion ou une bouche d'incendie. Ils les présentent à côté d'autres images parmi lesquelles choisir. Ceux-ci sont beaucoup plus conviviaux que les tests textuels et plus difficiles à reconnaître pour les bots.

4. Mathématiques, problème de mots et puzzle CAPTCHA

Les CAPTCHA mathématiques représentent souvent un problème arithmétique simple tel que 17 + 23, 16 * 10 ou 30/10 avec des éléments graphiques ajoutés.

Word Problem CAPTCHA présente une séquence de mots ou d'éléments connexes et vous demande de remplir les blancs avec la réponse appropriée.

Puzzle CAPTCHA consiste à résoudre un mini puzzle tel que faire glisser une barre à la bonne longueur afin que la pièce manquante complète l'image.

5. Pas de CAPTCHA ReCAPTCHA

Google possède ReCAPTCHA qui utilise une analyse avancée des risques et des défis adaptatifs pour prévenir les bots. ReCAPTCHA récupère le contenu de Google Street View, des journaux, des livres, etc.

No CAPTCHA ReCAPTCHA vous oblige à cocher l'option "Je ne suis pas un robot" sans vous demander de passer des tests. Ceci est possible car il suit les mouvements et identifie le clic. Une chose à noter est que ReCAPTCHA capture vos informations privées aussi.

Vous pouvez créer un Formulaire de validation CAPTCHA utilisant HTML, CSS et JS ainsi que l'utilisation du module Python CAPTCHA.

Le module Python CAPTCHA

Python est livré avec un module fantastique appelé CAPTCHA qui vous aide à créer des CAPTCHA image et audio basés sur du texte en quelques instants. Bien que le module fournisse un style de police et une voix intégrés, vous pouvez utiliser vos données de voix et de police pour personnaliser encore plus les CAPTCHA.

Pour installer le module CAPTCHA dans votre environnement Python, ouvrez la fenêtre Terminal et tapez :

pépin installer captcha

Comment générer une image textuelle CAPTCHA à l'aide de Python

L'intégralité du code source permettant de générer des images textuelles personnalisées et des CAPTCHA audio est disponible dans ce Référentiel GitHub.

Vous pouvez suivre ces étapes pour créer une image CAPTCHA textuelle à l'aide de Python :

  1. Importez le ImageCaptcha module situé dans captcha.image.
    # importer les bibliothèques requises
    depuis captcha.image importer ImageCaptcha
  2. Spécifiez une largeur et une hauteur personnalisées pour votre CAPTCHA et créez-en une instance.
    # spécifier les dimensions
    image = ImageCaptcha (largeur = 300, hauteur = 100)
  3. Prenez une séquence de caractères comme entrée utilisateur à l'aide de la saisir() pour le convertir en un format CAPTCHA textuel.
    # entrez le texte pour créer son captcha
    captcha_text = entrée("Veuillez saisir du texte: ")
  4. Transmettez le texte que vous avez reçu de l'utilisateur au image.generate() pour créer le CAPTCHA.
    # générer le captcha textuel
    data = image.generate (captcha_text)
  5. Transmettez le texte du CAPTCHA et le nom du fichier image avec son extension à image.write() pour enregistrer l'image CAPTCHA générée.
    # enregistrer le fichier image captcha
    image.write (captcha_text, (captcha_text) + ".png")

Sortie d'une image textuelle CAPTCHA à l'aide de Python

L'une des meilleures fonctionnalités de ce module est qu'il génère le même texte dans des couleurs, des styles et des asymétries différents. Voici quelques-uns des exemples générés.

C'est encore une autre conception fascinante générée via le même programme.

Comment générer un CAPTCHA audio avec Python

Suivez ces étapes pour créer un CAPTCHA audio à l'aide de Python :

  1. Importez le AudioCaptcha module de captcha.audio.
    # importer les bibliothèques requises
    depuis captcha.audio importer AudioCaptcha
  2. Créez une instance de AudioCaptcha().
    # créer une instance audio
    audio = AudioCaptcha()
  3. Prendre les chiffres comme entrée utilisateur à l'aide de la saisir() fonction pour créer son CAPTCHA audio.
    # numéro de captcha audio, par exemple: 32135
    captcha_text = entrée("Veuillez entrer le numéro: ")
  4. Transmettez le texte que vous avez reçu de l'utilisateur à audio.generate() pour créer le CAPTCHA.
    # générer le captcha audio
    audio_data = audio.generate (captcha_text)
  5. Transmettez le texte du CAPTCHA et le nom du fichier audio avec son extension à audio.write() pour enregistrer le CAPTCHA audio généré.
    # enregistrer le fichier audio
    audio.write (captcha_text, "l'audio"+captcha_text+'.wav')

Si vous saisissez les chiffres 970322, ce programme CAPTCHA audio générera un audio970322.wav fichier qui prononce les chiffres en séquence avec un tas de bruit de fond.

Les nombreuses utilisations du CAPTCHA

La fonction principale d'un CAPTCHA est d'empêcher le spam et les abus par des robots sur un site Web. Ils aident à maintenir l'exactitude des sondages en ligne en empêchant les robots de les inonder de réponses négatives. Ils agissent comme une couche de protection contre les attaques par force brute et limitent le nombre de tentatives de connexion d'un utilisateur à un site Web.

CAPTCHA peut également aider à empêcher les commentaires automatisés et peut aider à sécuriser les passerelles de paiement avec leur difficulté à résoudre.