inicio mail me! Abonnieren

Spam Kontaktformular vermeiden

Ohne Captcha Methode und eigentlich ganz einfach.
1. Timestamp in einem Input-Feld speichern
2. verstecktes Input-Feld, dessen Name-Attribut auf “mail” oder “email” setzen
3. eigentliche Input-Feld der E-Mail Adresse des Benutzers anderes Name-Attribute geben als “mail” oder “email”

$timestamp=$_SERVER['REQUEST_TIME'];

<input type="text" value="<?php echo $timestamp; ?/>" name="zeitstempel" class="hidden" />

<input type="text" name="mail" class="hidden" />

<input type="text" name="meineEchteEmailAdresse" />

Spam-Bots suchen danach und füllen diese aus. Mit CSS ausblenden

.hidden{
display: none;
}

In der PHP-Datei, mit der Mail-Funktion die Differenz zwischen Request des Formulars und der PHP-Datei berechnen und in einer Bedingung abfragen.

// aktuellen Zeitstempel speichern
$zeitStempel = $_SERVER['REQUEST_TIME'];

/* Differenz von Kontakformular gelieferten Zeitstempel
* mit aktuell gespeicherten Zeitstempel berechnen
*/
$zeitDifferenz=$_POST['zeitstempel']-$zeitStempel;
$mailSpam=$_POST['mail'];
$mailRichtig=$_POST['meineEchteEmailAdresse'];

// Bedingung setzen
if($zeitDifferenz < 5 && !empty($mailSpam)){
// tue irgendwas
}
else{
mail(Deine Parameter eingeben);
}

Die Zeit könnt ihr variable setzen. Ein Spam-Bot versucht so schnell wie möglich das Kontakformular abzuschicken. Ein paar Sekunden müssten reichen. Wenn ein Benutzer wirklich was abtippt, müsste es länger dauern als 4-5 Sekunden.

Keine Kommentare »

Noch nicht kommentiert.

RSS Feed für diese Kommentare TrackBack URL

Kommentiere diesen Artikel.