jspit
Lounge-Member
Spam über Kontaktformulare kann für einen Seitenbetreiber sehr belastend werden, der Spamschutz über unlesbare Captchas jedoch zum Albtraum für Besucher. Auf der Basis dieses Konzepts wird ein einfach zu nutzende PHP form class vorgestellt, der ganz auf überflüssige zusätzliche Nutzereingaben (Captcha, Rechenaufgaben...) verzichtet. Ein Hidden-Feld im Formular wird für die Übermittlung einer zufällig generierten TAN-Nummer genutzt. Sessions werden so nicht benötigt und bleiben frei für andere Aufgaben. Die Nutzung innerhalb eigener Formularanwendungen ist sehr einfach:
Die so generierte TAN muss dann nur noch in einen zusätzlichen Formularfeld mitgeliefert werden:
Die Methode GetTAN erkennt selbstständig ob ein neues Formular angefordert wird oder ein ausgefülltes Formular geschickt wurde. GetTAN liefert immer eine TAN wenn alles ok ist, bei Spamerkennung liefert GetTAN false als Ergebnis. Folgende Arten von Spam werden geblockt:
1. Die maschinelle "Bearbeitung von Formularen" durch Bots (scheitern am Zeitrahmen)
2. Das Zuschicken von "ausgefüllten" Formularen (scheitern an der TAN-Nummer)
3. Das übermäßige Zusenden von Formularen eines Absenders (scheitern an IP-Sperre)
4. Das wiederholte manuelle Absenden ein und derselben Formulare
Die Überprüfung der eigenen Formularfelder sollte auch bei Nutzung der AntiSpam PHP form class keinesfalls unterbleiben. Eine Reihe weiterer Methoden und Attribute dient zur Anpassung an spezielle Anforderungen der Formulare. Eine erste Version der AntiSpam PHP form class ist auf http://antispam.pju24.de/ dokumentiert und steht als Quellcode inclusive zweier Beispiele zum Download bereit. Das Simple Anti Spam Formular kann auch online getestet werden.
PHP:
require 'class.antispam.php'; //Class einbinden
$asp = new AntiSpam(); //Object erzeugen
$tan = $asp -> GetTAN('tan'); //tan erzeugen
HTML:
<input type="hidden" name="tan" value="<?php echo $tan;?>">
1. Die maschinelle "Bearbeitung von Formularen" durch Bots (scheitern am Zeitrahmen)
2. Das Zuschicken von "ausgefüllten" Formularen (scheitern an der TAN-Nummer)
3. Das übermäßige Zusenden von Formularen eines Absenders (scheitern an IP-Sperre)
4. Das wiederholte manuelle Absenden ein und derselben Formulare
Die Überprüfung der eigenen Formularfelder sollte auch bei Nutzung der AntiSpam PHP form class keinesfalls unterbleiben. Eine Reihe weiterer Methoden und Attribute dient zur Anpassung an spezielle Anforderungen der Formulare. Eine erste Version der AntiSpam PHP form class ist auf http://antispam.pju24.de/ dokumentiert und steht als Quellcode inclusive zweier Beispiele zum Download bereit. Das Simple Anti Spam Formular kann auch online getestet werden.