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é.
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 :
- Importez le ImageCaptcha module situé dans captcha.image.
# importer les bibliothèques requises
depuis captcha.image importer ImageCaptcha - 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) - 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: ") - 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) - 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 :
- Importez le AudioCaptcha module de captcha.audio.
# importer les bibliothèques requises
depuis captcha.audio importer AudioCaptcha - Créez une instance de AudioCaptcha().
# créer une instance audio
audio = AudioCaptcha() - 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: ") - 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) - 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.