CAPTCHAs wurden Anfang der 2000er Jahre eingeführt und nerven Benutzer seit Jahrzehnten. Von der Suche nach Bildern eines Busses über die Eingabe einer seltsamen Buchstabenfolge bis hin zur Lösung mathematischer Probleme gibt es viele Möglichkeiten, wie Websites Sie auffordern, zu beweisen, dass Sie kein Roboter sind.
Aber haben Sie sich jemals gefragt, wie CAPTCHA funktionieren und warum Websites Sie dazu zwingen, sie zu lösen?
Was ist CAPTCHA?
CAPTCHA steht für Completely Automated Public Turing test to tell Computers and Humans Apart. Wie der Name schon sagt, unterscheidet es zwischen Menschen und Computern.
Das Grundkonzept von CAPTCHA beruht auf dem Mangel an Computerintelligenz, um Muster zu erkennen. Ein Computer kann Buchstaben erkennen, aber nicht in Fällen, in denen sie verändert oder mit viel Hintergrundrauschen vorhanden sind. Menschen hingegen sind seit Generationen darauf programmiert, Muster als Sicherheitsmechanismus zu erkennen und zu identifizieren.
Arten von CAPTCHAs
CAPTCHA gibt es in verschiedenen Arten, einige davon sind:
1. Textbasiertes Bild-CAPTCHA
Textbasiertes CAPTCHA verwendet eine Reihe von Wörtern oder Sätzen oder eine zufällige Kombination verschiedener Buchstaben, Zahlen und Symbole. Es stellt eine Folge von Zeichen in einer verfremdeten Form dar, die etwas schwierig zu interpretieren ist.
Dazu gehören Verzerrung, Drehung, Spiegeln, Wackeln, Großschreibung und Überlappung mit angrenzenden Zeichen. Um diese Technik zu verbessern, kann ein CAPTCHA Grafiken wie Linien, Bögen oder Punkte in zufälliger Weise enthalten, die über das Bild verteilt sind.
2. Audio-CAPTCHA
Audio-CAPTCHA dient als Alternative zu textbasierten CAPTCHAs und richtet sich an sehbehinderte Benutzer. Audio-CAPTCHA stellt eine Audioaufnahme einer Folge von Buchstaben oder Zahlen dar, die der Benutzer korrekt eingeben muss. Auch hier gibt es Verzerrungen, diesmal in Form von zusätzlichem Hintergrundrauschen. Interessant ist, dass das Python-CAPTCHA-Modul nur mit Zahlen funktioniert.
3. Bild-CAPTCHA
Bild-CAPTCHAs sind eine Alternative zu textbasierten Bild-CAPTCHAs. Dies sind die typischen CAPTCHAs, die Sie täglich angehen werden.
Diese CAPTCHAs fordern Sie auf, ein bestimmtes Objekt wie ein Boot, einen Lastwagen oder einen Hydranten zu identifizieren. Sie präsentieren diese neben anderen Bildern zur Auswahl. Diese sind viel menschenfreundlicher als textbasierte Tests und für Bots schwieriger zu erkennen.
4. Mathematik, Wortproblem und Puzzle-CAPTCHA
Mathematische CAPTCHAs stellen oft eine einfache Rechenaufgabe wie 17 + 23, 16 * 10 oder 30 / 10 mit hinzugefügten grafischen Elementen dar.
Das Wortproblem-CAPTCHA zeigt eine Folge von Wörtern oder verwandten Elementen und fordert Sie auf, die Lücken mit der entsprechenden Antwort zu füllen.
Puzzle CAPTCHA beinhaltet das Lösen eines Mini-Puzzles, z. B. das Verschieben eines Balkens auf die richtige Länge, sodass das fehlende Teil das Bild vervollständigt.
5. Kein CAPTCHA ReCAPTCHA
Google besitzt ReCAPTCHA, das erweiterte Risikoanalysen und adaptive Herausforderungen verwendet, um Bots zu verhindern. ReCAPTCHA ruft Inhalte von Google Street View, Zeitungen, Büchern und mehr ab.
Kein CAPTCHA ReCAPTCHA erfordert, dass Sie die Option „Ich bin kein Roboter“ aktivieren, ohne Sie zu bitten, irgendwelche Tests zu durchlaufen. Dies ist möglich, da es die Bewegungen verfolgt und den Klick identifiziert. Eine Sache ist das zu beachten ReCAPTCHA erfasst Ihre privaten Informationen sowie.
Sie können eine erstellen CAPTCHA-Validierungsformular mit HTML, CSS und JS sowie die Verwendung des Python-CAPTCHA-Moduls.
Das Python-CAPTCHA-Modul
Python wird mit einem fantastischen Modul namens CAPTCHA geliefert, mit dem Sie in wenigen Augenblicken textbasierte Bild- und Audio-CAPTCHAs erstellen können. Obwohl das Modul einen integrierten Schriftstil und eine Stimme bietet, können Sie Ihre Stimme und Schriftdaten verwenden, um CAPTCHAs noch weiter anzupassen.
Um das CAPTCHA-Modul in Ihrer Python-Umgebung zu installieren, öffnen Sie das Terminalfenster und geben Sie Folgendes ein:
Pip Installieren captcha
So generieren Sie ein textbasiertes Bild-CAPTCHA mit Python
Darin steht der gesamte Quellcode zur Generierung von kundenindividuellen textbasierten Bild- und Audio-CAPTCHAs zur Verfügung GitHub-Repository.
Sie können diesen Schritten folgen, um ein textbasiertes Bild-CAPTCHA mit Python zu erstellen:
- Importieren Sie die ImageCaptcha Modul befindet sich in CAPTCHA Bild.
# Importieren der erforderlichen Bibliotheken
aus CAPTCHA Bild importieren ImageCaptcha - Geben Sie eine benutzerdefinierte Breite und Höhe für Ihr CAPTCHA an und erstellen Sie eine Instanz davon.
# Maße angeben
Bild = ImageCaptcha (Breite = 300, Höhe = 100) - Nehmen Sie eine Folge von Zeichen als Benutzereingabe, indem Sie die verwenden Eingang() Funktion, um es in ein textbasiertes CAPTCHA-Format zu konvertieren.
# Geben Sie den Text ein, um das Captcha zu erstellen
captcha_text = eingabe("Bitte Text eingeben: ") - Übergeben Sie den Text, den Sie vom Benutzer erhalten haben, an die image.generate() um das CAPTCHA zu erstellen.
# Generieren Sie das textbasierte Captcha
data = image.generate (captcha_text) - Übergeben Sie den Text des CAPTCHA und den Bilddateinamen zusammen mit seiner Erweiterung an image.write() um das generierte Bild-CAPTCHA zu speichern.
# Speichern Sie die Captcha-Bilddatei
image.write (captcha_text, (captcha_text) + ".png")
Ausgabe von textbasiertem Bild-CAPTCHA mit Python
Eine der besten Eigenschaften dieses Moduls ist, dass es denselben Text in verschiedenen Farben, Stilen und Schiefheiten generiert. Dies sind einige der generierten Beispiele.
Dies ist ein weiteres faszinierendes Design, das mit demselben Programm erstellt wurde.
So generieren Sie ein Audio-CAPTCHA mit Python
Befolgen Sie diese Schritte, um ein Audio-CAPTCHA mit Python zu erstellen:
- Importieren Sie die AudioCaptcha Modul ab captcha.audio.
# Importieren der erforderlichen Bibliotheken
aus captcha.audio importieren AudioCaptcha - Erstellen Sie eine Instanz von AudioCaptcha().
# Erstellen einer Audioinstanz
audio = AudioCaptcha() - Nehmen Sie Ziffern als Benutzereingabe mit Eingang() Funktion, um sein Audio-CAPTCHA zu erstellen.
# Audio-Captcha-Nummer, zB: 32135
captcha_text = eingabe("Bitte Nummer eingeben: ") - Übergeben Sie den Text, den Sie vom Benutzer erhalten haben, an audio.generieren() um das CAPTCHA zu erstellen.
# Generieren Sie das audiobasierte Captcha
audio_data = audio.generate (captcha_text) - Übergeben Sie den Text des CAPTCHA und den Audiodateinamen zusammen mit seiner Erweiterung an audio.write() um das generierte Audio-CAPTCHA zu speichern.
# Speichern Sie die Audiodatei
audio.write (captcha_text, "Audio-"+captcha_text+'.wav')
Wenn Sie die Zahlen eingeben 970322, generiert dieses Audio-CAPTCHA-Programm eine audio970322.wav Datei, die die Ziffern nacheinander mit einer Reihe von Hintergrundgeräuschen spricht.
Die vielen Einsatzmöglichkeiten von CAPTCHA
Die Hauptfunktion eines CAPTCHAs besteht darin, Spam und Missbrauch durch Bots auf einer Website zu verhindern. Sie tragen dazu bei, die Genauigkeit von Online-Umfragen aufrechtzuerhalten, indem sie verhindern, dass Bots sie mit negativen Antworten überfluten. Sie fungieren als Schutzschicht gegen Brute-Force-Angriffe und beschränken die Anzahl der Versuche eines Benutzers, sich auf einer Website anzumelden.
CAPTCHA kann auch dazu beitragen, automatisierte Kommentare zu verhindern, und kann dazu beitragen, Zahlungsgateways mit ihrer Schwierigkeit zu lösen.