Die meisten, die schon mal ein Gästebuch betrieben haben, kennen das Problem:

Spam

Aber was kann man dagegen tun?

Ich möchte euch einen kleinen Trick vorstellen, wie man ohne viel Aufwand ein gesendetes Formular darauf prüfen kann, ob es von einem Bot ausgefüllt worden ist.

Die Theorie
Man fügt einem bestehenden Formular ein weiteres Feld zu, das man so formatiert, dass es für einen Benutzer unmöglich ist dieses zu erkennen und somit auszufüllen.
Im anschließendem Auswertungsskript prüft man nach ob dieses Feld auch wirklich leer ist.

Die meisten Bots füllen alle Feder aus um sicher zu stellen, dass alle Pflichtfelder einen Wert enthalten. Und das nutzen wir in diesem Fall aus.

Die Praxis

Fangen wir mit unserem HTML-Code an:

<form method="post" action="skript.php">
<input type="text" name="name" />
<div style="display: none;">
<!– Hier drin befindet sich das unsichtbare Feld –>
<input type="text" name="vorname" />
</div>
<input type="submit" name="sender" />
</form>

Nun zum PHP-Code:

<?php
if (!empty($_POST["vorname"])) {
// Abbrechen!
return false;
}
else {
// Daten auswerten…
}
?>