molily: Captcha per Ajax und Javascript prüfen?

Beitrag lesen

Unter der Vielzahl von Lösungen, die sicherstellen sollen, dass da wirklich ein Menschlein vorm Bildschirm sitzt, mein Vorschlag, der recht einfach ist:

Es hat schon seinen Grund, warum große Sites Bild- oder Audio-Captchas einsetzen. Die Frage ist, ob man eine entsprechende Sicherheit benötigt, die mit dem Nerven der Benutzer einhergeht, oder ob eine Kaskade kleiner und weniger zuverlässiger Techniken ausreichen. Das hängt ganz vom Anwendungsfall ab. Die Frage zu jeder Technik sollte lauten: Ist sie geprüft? Liegen Statistiken vor und Vergleichszahlen?

Liefere das Eingabeform mit einer Unique-Id (input hidden). Diese Id ist auch serverseitig hinterlegt mit Zeitstempel der Auslieferung/Erstellung, das kann in einer DB Tabelle (1) erfolgen. So kann jedes Form nur einmal submittet werden und es kann auf ein Zeitfenster geprüft werden, der Human-Anteil besteht darin, dass das Formular vor dem Abschicken erst gelesen und ausgefüllt werden muss.

Bei einem Kommentar- oder Kontaktformular ist die Zeit, die ein Benutzer zum Schreiben aufwendet, sehr variabel. Eine kurze Nachricht tippt man vielleicht in ein, zwei, eine längere in einer halben Stunde, wenn man zwischendurch etwas anderes tut.

Klar, wenn das Formular eine Sekunde nach dem Request auf das Dokument mit dem Formular abgesendet wird, ist etwas faul. Doch wie viele Spambots sind so dumm? Das ist keine rhetorische Frage. Sie haben schließlich alle Zeit der Welt.

Ein solcher Spamfilter hat erst kürzlich die Kommentatoren in meinem Blog genervt: Er hat mit Sessions gearbeitet und darin einen Timestamp gespeichert (ginge natürlich auch ohne Session-Cookies, wie du sagst). Beim Absenden des Formulars wurde die Zeitdifferenz geprüft und diese diente zur Spamerkennung. Dummerweise war der Intervall (in dem Fall der Session-Timeout) zur kurz für das Schreiben einiger Kommentare.

Eine Begrenzung nach oben hin ist also problematisch. Nach unten hin eigentlich auch: was ist, wenn man nur einen Satz schreiben will, beispielsweise eine Frage? Etwa in Blogkommentaren sind solche Konversationen durchaus üblich. Hier im Forum teilweise auch.

Mathias