Hallo an alle,
ich hab mir mal einen neuen Schutz ausgedacht, der SpamBots in Gästebüchern aussperren soll, und wollte mal fragen, was ihr davon haltet. Auf Captchas will ich aus Gründen der Barrierefreiheit komplett verzichten.
Der Schutz basiert auf einem IP-Ausperr-System. Natürlich ist mir klar, dass die Bots ihre IPs oft wechseln, aber das sollte nicht stören.
Sobald der User, sei es Maschine oder Mensch, das Eintrageformular des Gästebuchs aufruft, schaut ein serverseitiges Skript in einer Datenbank nach, ob die IP-Adresse des User schön überprüft wurde. Ist dies nicht der Fall, wird statt des Eintrageformulars eine Seite ausgegeben, die einen Test enthält.
Der Test läuft so ab:
Ein Skript wählt aus einer vorgegebenen Liste mit verschiedenen Fragen zufällig eine aus und stellt sie dem User.
Beispiel: Wie nennt man ein Gebäude, in dem man wohnt?
Darunter befinden sich mehrere Links (ca. 7 - 8), die alle auf die Seite mit dem Eintrageformular verweisen, allerdings mit verschiedenen GET-Parametern. Nur der Link mit der richtigen Antwort trägt den validen Code.
Bsp:
<a href="form.php?code=123">Apfel</a>
<a href="form.php?code=456">Stern</a>
<a href="form.php?code=789">Haus</a>
<a href="form.php?code=557">Mensch</a>
Die Reihenfolge ist natürlich zufällig.
Ein Mensch sollte keine Probleme damit haben, dass er den "Haus"-Link als richtig erkennt und gelangt auf die Seite mit dem Formular, fertig.
Der Bot wird, wie ich vermute, einfach mal alle Links durchklicken, um zu schauen, was passiert. Dabei wird er mit Sicherheit auch einen der falschen Links erwischen. Sobald er das tut, registriert das Formular den Fehler und setzt die IP sofort auf eine Blockliste, sodass eine Eintragung verhindert werden kann.
Das heißt, auch wenn er durch Zufall den richtigen Link irgendwann findet, ist er schon längst gesperrt und stellt keine Gefahr da.
Nach einer Zeit wird die Datenbank geleert und die Zugangscodes ändern sich natürlich auch permanent.
Was haltet ihr von dem System?
Hab ich irgendwas vergessen? Eigentlich sollte das Thema Barrierefreiheit hier auch kein Problem sein, denn ein Screenreader-User hört die Frage und hört auch die verschiedenen Links, somit ist er nicht benachteiligt.
Vielen Dank für eure Meinungen,
Markus.
(nach Zeit: db-dump)