@ thomas die gleiche Idee hatte ich auch. ich habe den Spass alerdings noch weiter getrieben in dem alle Felder eine md5summe bekommen haben.
es gibt aber 2 Probleme an der Geschichte
1. ein normaler Benutzer kommt um 13:59 auf die kontakt Seite, wartet etwas und füllt das Formular dann um 14:30 komplett aus und schickt es ab.
-> es ist nicht mehr gültig also den ganzen "sch***" nochmal ausfüllen
2. jemand der ein wenig was in der Birne hat kommt halt 1 Sekunde bevor er Spam verschickt auf deine Seite holt sich die Feldnamen und es mit den entsprechenden Werten ab.
was viel wirkungsvoller ist: Die Eingabe genau prüfen. z.B. mein Feld hat maxlength 50 und wenn ich eine Variable bekomme wo mehr als 50 Zeichen drin stehen dann schmeiss ich die ganze Sache einfach weg.
Das beste wäre Vermutlich man würde einen Zufallsstring im Formular verstecken und noch die Felder 100% prüfen.
Code Schnipsel
CODE <?php
$mail_feldname = md5 (date('d.m.Y H') . ' mail name');
if (isset($_POST[$mail_feldname])) {
echo 'Feldname OK eMail verschicken';
} else {
echo 'Formular ausgeben';
echo '<input name="'.$mail_feldname.'">';
}
?>
@ rene davon rate ich mal ab die mail als absender einzutragen das würde in etwa so aussehen
mail($empfeanger, $betreff, $text, "From: Absendername <Absendermail>"
;
Wobei die Variablen Absendername und Absendermail 100% geprüft werden müssen (keine Umbrüche ...)