heinetz: Spamschutz ohne Captcha

Beitrag lesen

hello,

b) dem Einbau einer ID (mittels php's microtime() ) welche als hidden field gesendet wird aber auch als Session ID gespeichert wird. Das Formular wird nur evaluiert, wenn diese übereinstimmen. Hintergrund ist das viele Bots das Formular nicht auf Deiner Seite aufrufen sondern vielmehr direkt einen Postrequest auf die Zielseite starten. Daher wird bei Bots die php-Sessionvariable nicht korrekt gesetzt.

das Prinzip klingt einleuchtend: Beim POST-Request wird überprüft, ob der "User" vorher auf der Seite war, wo er ein Form ausgefüllt hat, also der Referrer. Wodurch unterscheidet sich deine Methode davon, einfach den Referrer abzufragen? Der Wert aus microtime ist der name des hidden-Field oder der value?

In einem andren Ansatz, den ich gelesen hatte, werden die Namen der Formularfelder dynamisch generiert. Das erschien mir auch sinnig. Was hälst Du davon?

c) zwischen Formularaufruf und -evaluierung müssen mindestens 3 Sek. vergehen. Hintergrund ist: Menschen brauchen Zeit für das Ausfüllen, Maschinen nicht. Beim Loginformular verzichte ich auf diesen Spamschutz, da die Leute direkt Daten eingefügt bekommen (vom Browser) und es durchaus sein kann, dass das Abschicken innerhalb 0.5 Sek. geschieht.

Ja, gute und einfache Massnahme.

gruss, heinetz