Spamschutz leichtgemacht

Achtung: dieser Beitrag ist alt! Es kann gut sein, dass seine Inhalte nicht mehr aktuell sind.

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

Das Idioten-Captcha
Meine Sicherheitsabfrage. Funktioniert wirklich prima.

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

Nutzlos und lästig.
Spät am Abend ist sowas zu hoch für mich. Wenn es ein Spambot drauf anlegen würde, würde er dieses Ding überwinden. Nur passiert das eben nicht.

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)

  1. serious

    14. September 2006, 19:24 Uhr

    lol, das mit den einfachen fragen is geil. muss ich mir merken, vielleicht braucht mans ja mal

  2. 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...

  3. 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.

  4. 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

  5. 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.

  6. 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

  7. Peter

    11. April 2008, 08:49 Uhr

    Frag’ sie nach dem amtierenden Präsidenten der USA!

  8. 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

  9. 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

Die Kommentarfunktion ist seit Juli 2014 deaktiviert, weil sie zu sehr von Suchmaschinenoptimierern für manuellen Spam mißbraucht wurde. Wenn du Anmerkungen oder Fragen zum Artikel hast, schreib mir eine E-Mail oder melde dich via Twitter.

Folgt mir!

Kauft mein Zeug!

Cover der HTML5-DVD
Infos auf html5-dvd.de, kaufen bei Amazon

Cover des HTML5-Buchs
Infos auf html5-buch.de, kaufen bei Amazon

Cover des CSS3-Buchs
Infos auf css3-buch.de, kaufen bei Amazon