Nun, atmet mal tief durch. :-) Entsprechende Hürden für Spammer verwenden wir schon hier seit längerem. Gewöhnliche Bots sind kein Problem und werden schon zuverlässig abgewehrt; andernfalls hätten wir vermutlich ein tägliches Spam-Aufkommen im drei-stelligen Bereich.
Das Problem mit dem wir es hier zu tun haben sind reale Menschen, die entweder manuell oder halb-automatisch Beiträge verfassen. Leider sind die Löhne in manchen Ländern derart gering, dass es sich lohnt Leute dafür zu bezahlen den ganzen Tag CAPTCHAs zu knacken. Zuerst konnte ich das Phänomen bei archlinux.org beobachten und Gegenmaßnahmen entwickeln, so dass wir hier vorbereitet in den Kampf ziehen. :-) (Die Geschichte findet ihr übrigens teilweise unter
https://bbs.archlinux.org/viewtopic.php?id=104892
Ich habe die Aufgabe, die Gäste zum Registrieren und Posten lösen müssen nun leicht in der Schwierigkeit gesteigert. Ich hoffe die recht extreme Aufgabe wie auf bbs.archlinux.org können wir uns vorerst hier sparen.
Zu der Idee mit "hidden fields": Das ist alter Kaffee. Ältere 0815-Bots mögen darüber stolpern, aber neuere sind da robuster. Selbst Tricks mit CSS oder JavaScript sind kein Problem. Und sobald die Seite etwas größer wird, hat man das Problem mit Leuten, die Bots entweder speziell für die Seite anpassen oder gleich per Hand posten. Hier ist es hilfreich, wenn man eine sehr spezielle Zielgruppe hat, so dass man Aufgaben stellen kann, die nicht leicht via Google oder Wikipedia zu lösen sind.
Fun fact: Es gab tatsächlich genau einen Fall, bei dem ein Spammer zunächst per Windows das Forum besuchte, die Aufgabe nicht lösen konnte und viele Minuten später mit Ubuntu zurück kam. Hier hat wohl jemand der Ehrgeiz gepackt; finanziell gelohnt hat sich das wohl kaum. Zumal ich dank einer anderen Erweiterung, die ich für diesen Fall geschrieben hatte, den Account und Spam schneller entdecken und entfernen konnte als er erstellt wurde.
Kurzum: Der Kampf gegen Spammer ist ein regelrechtes Wettrüsten geworden und ein schönes Hobby für die, die das mögen. :-)