Dieser Artikel ist älter als zwei Jahre und womöglich veraltet!

Spambots mit Sonderzeichen im Captcha täuschen

Sie sind die wohl nervigsten Nebenerscheinungen beim Betrieb einer Homepage bzw. eines Blogs: Spambots.

Was sind Spambots?

Spambots sind Computerprogramme die mehr oder weniger automatisch Formulare im Internet finden und diese mit vordefinierten Text befüllen. Meist werden in den Nachrichten in den Kommentaren oder bei Kontaktformularen Tabletten und/oder Potenzmittel angeboten. Mit der Zeit kann die Überprüfung von solchen Kommentaren und ihrer Freischaltung eine große Menge Zeit in Anspruch nehmen.

Captchas

Lange Zeit waren mehr oder weniger komplizierte Captchas (Completely Automated Public Turing test to tell Computers and Humans Apart) das Mittel der Wahl um eine automatische Absendung von Formularen zu verhindern. Mit einem wechselnden Text, der in ein Bild geschrieben wird, wird ausgenutzt, dass die Erkennung von Text beim Menschen weitaus besser funktioniert als bei Computerprogrammen. So kann das Formular nur abgeschickt werden wenn das Bild korrekt erkannt wurde.

Das funktioniert(e) ganz gut solange die Spambots noch keine Texterkennung eingebaut haben. Inzwischen können diese einfache Captchas erkennen und die Formulare dann trotzdem abschicken. In Folge dessen werden Captchas immer komplizierter und stellen so langsam auch für den Menschen Probleme bei der Erkennung dar. Ein Beispiel dafür ist der Dienst reCAPTCHA von Google. 

Django Captcha

Meine Idee

Da diese Computerprogramme stets für eine große Anzahl von Websiten verwendet werden und wohl kaum auf einzelne Seiten abzielen habe ich mir gedacht, dass man nur das typische Schema des Captcha-Textes ändern müsste. So probierte ich einfach die Captchas auf meiner Homepage nur mehr aus Umlauten und Sonderzeichen zusammenzusetzen.

Recaptcha

Und siehe da: Seit ich auf dieser Seite diese Art von Captchas verwendet wurde kein einziger neuer Spam-Kommentar abgeschickt und auch das Kontaktformular nicht mehr missbraucht. Laut den Logs erkennen die Spam-Bots im obigen Beispiel nur mehr „ooa”.

Fazit

Ich weiß, dass auch das kein Wundermittel ist. Man kann sich jedoch schon einmal auf die Eigenarten der deutschen Sprache bzw. der Sonderzeichen verlassen. Auf jeden Fall erhöht sich der Aufwand für Spambots im Gegensatz zur Schwierigkeit der Erkennung für den Menschen sehr viel mehr.

Was halten Sie von dieser Lösung? Ist die Erkennung für den Menschen schwieriger als sonst? Würden Sie diese Art auch verwenden?

Weitere Artikel

Das WhatsApp-Registrierungsprotokoll

Da ich aus den Suchanfragen die auf meiner Homepage landen schließe, dass hier Interesse besteht, möchte ich hiermit nocheinmal kurz den Registrierungsvorgang bei WhatsApp mit den dafür verwendeten REST Urls beschreiben. Überprüfen, ob schon registriert Beim Starten der App und nach der Eingabe der …

Johannes Mittendorfer
Johannes Mittendorfer