Kaum hatte ich einen wüsten Wutanfall zum Thema Captcha gelesen, da machte Gaim pling
und Frank, mein alter Schulkamerad und persönlicher Lieblingsprovider von Messetechnik (nicht dass ich jetzt so übermäßig viele kennen würde) erzählte mir von seinem aktuellen Spamproblem
Nachdem ein Bot ein Kontaktformular auf einer seiner zahlreichen Websites genutzt hatte, um ihm (ungelogen) stündlich 300 patente Diättipps zukommen zu lassen, war jetzt das Gästebuch seiner wichtigsten Seite dran. Alle 60 Minuten kamen sechs Einträge, die die Vorzüge eines bestimmten potenzfördernden Generikas priesen. Angesichts des Alters derer, die normalerweise Franks Events besuchen, würde ich fast vermuten, dass man dort eher mit zu viel als mit zu wenig Potenz zu kämpfen hat... aber Marketingstrategie ist eben nichts für Spambots.
Es kann so einfach sein
Diese sind nämlich strunzdumme Maschinen. Man soll seinen Gegner nie unterschätzen, sicherlich, aber wenn man ihn überschätzt, tut man sich selbst auch nichts gutes. Und das tun viele, so zum Beispiel auch ich... bis ich den eingangs genannten Artikel las. Weil ich keine Lust hatte, für Frank irgendein abgefahrenes Hightech-Captcha zu installieren, habe ich einfach als Experiment das dümmstmögliche gebaut.
Damit nicht der Eindruck entsteht, dies sei eine komplizierte Angelgenheit... es handelt sich um nichts weiter als das Bild eines Elefanten. Das Script prüft einfach, ob die Frage mit Elefant
beantwortet wurde (Rechtschreibfehler und originelle Groß- und Kleinschreibung werden akzeptiert) und speichert dann den Kommentar.
Das Bild ändert sich nie. Die Antwort ist immer Elefant
. Das ist die dümmste Sicherheitsabfrage der Welt. Und sie funktioniert.
Mit Kanonen auf Spatzen
Es ist technisch durchaus möglich, Captchas durch Maschinen knacken zu lassen. Nur passiert das praktisch kaum, höchstens wenn ein Spambot gezielt auf eine bestimmte Captcha-Software angesetzt wird. Warum sollte man sich dann die Mühe machen? Normale Captchas sind ab einem gewissen Müdigkeitsgrad auch für optisch optimal ausgerüstete Menschen nicht mehr zu knacken und unter der Bilderzeugung schwitzt unnötig der Server.
Wenn man's barrierefrei halten möchte, sollte statt eines Bildes vielleicht eine einfache (nicht-mathematische) Frage gestellt werden, zum Beispiel Wie lautet der Vorname von Franz Beckenbauer?
.
Kommentare (9)
serious ¶
14. September 2006, 19:24 Uhr
lol, das mit den einfachen fragen is geil. muss ich mir merken, vielleicht braucht mans ja mal
hausi ¶
29. September 2006, 14:05 Uhr
Hi Pepe
Ich möchte hier eine auch sehr einfache und extrem effektive Möglichkeit noch aufschreiben, wie du Spam um etwa 99% reduzieren kannst.
Im Formular wird ein neues Feld mit dem Namen website und style="display: none" hinzugefügt. Die meisten Spam-Bots werden das Feld ausfüllen (in der Hoffnung, dass ein klickbarer Link entsteht) und du kannst ziemlich sicher sein, dass alle, die das Feld ausfüllen keine Menschen sind. Das echte Website-Feld einfach umbenennen, dass das nicht mehr erkannt wird und die meisten Probleme sollten gelöst sein. Setzen wir bei unserem phpBB (ca. 20 Spam-Anmeldungen pro Tag) seit etwa 2 Monaten ein und hatten seit da keine Spam-Anmeldungen mehr.
P.S: Nimm doch Elephant noch in die erlaubten Wörter mit auf. War immerhin bis vor kurzem auch noch richtig...
a1ex ¶
5. Oktober 2006, 16:24 Uhr
Danke, ham wa wieder was gelernt.
Die Sache mit dem display:none Forumlarfeld ist aber auch nicht schlecht.
mario ¶
12. November 2006, 18:24 Uhr
Hallo Peter
Ich bin gerade über Deinen Spam-Elefanten gestolpert. Die Idee finde ich wirklich genial!
Leider kann ich kein PHP scripten, und würde mich freuen, wenn Du mir so ein Script schicken könntest, oder es hier mal veröffentlichs
Peter ¶
15. November 2006, 17:41 Uhr
Das stellt sich nicht unkompliziert dar... die Sache an sich ist so simpel, dass man da nicht viel zu schreiben kann. Man braucht eben ein zusätzliches Formularfeld und muss dann beim Posten (z.B. per
if
) abfragen, ob da das richtige eingegeben wurde.Wenn man das umsetzen möchte, ist eine einfache Einführung in PHP der wohl beste Leitfaden.
Ansonsten müsste ich mal zusehen, ob sich das ganze vielleicht als Plugin für Wordpress realisieren lässt.
high4 ¶
11. April 2008, 08:43 Uhr
ich muss aber mal ein bisserl nörgeln -aber natürlich ist das eine geniale lösung- und wenn maschinen sich düpiert fühlen könnten, dann wären sie es sicherlich auch...
aber wenn ich nun ausländische besucher auf meiner seite ausdrücklich erwünsche, dann brauche ich ein wort, das in allen sprachen gleich ist, denn auf russisch, japanisch, türkisch, kisuaheli.... heisst die niedliche langnase ja immer irgendwie anders
Peter ¶
11. April 2008, 08:49 Uhr
Frag’ sie nach dem amtierenden Präsidenten der USA!
marco ¶
27. Mai 2009, 04:42 Uhr
Das mit dem Elefanten ist ein sehr gute Idee! Schliesslich erkennen die Bots nur Text und keine Bildinhalte. Jedenfalls noch nicht. ^^
Wenn in dem Bild mit dem Elefanten noch ein Text vorhanden ist, und du dann statt "Elefant" diesen Text als Antwort bekommst, dann weisst du das da ein Bot am Werk war. :P
Andreas ¶
8. Juni 2014, 09:43 Uhr
Hi Peter,
es gibt auch Webseiten, die eine kleine Rechenaufgabe stellen, ala
"Wieviel ist 5 + 7", das dürfte auch recht international sein, zumindest dort, wo unser Zahlensystem bekannt ist.
Es gibt auch Spamschutz für angezeigte Email-Adressen. Schließlich möchte man seinen Besuchern möglichst eine anklickbare Adresse anzeigen, die gleich den Email-Editor öffnet. Doch im Quellcode sollte nur ein verschlüsseltes "etwas" stehen, aus dem eine Javascript-Funktion die richtige Mail ermittelt und mittels "document.write()" in die Anzeige und in den "mailto"-Link schreibt.
Suchbegriffe wie "javascript spamschutz email" liefern da z.B. etwas.
Übrigens, solange die Bots kein Javascript unterstützen, kann man das Spamschutz-Eingabefeld doch eigentlich als hidden-Feld auch mittels eines kleinen Javascripts für den Nutzer ausfüllen - als Service für müde, rechenfaule, bilderkennungs-genervte, Präsidenten-unwissende Surfer sozusagen. ;-)
Das ist dann quasi ein Bot-inkompatibler Anti-Spam-Knack-Bot, der nur in echten Browsern läuft.
Gruß, Andreas