Achim Janowski: Formulare / Absende-Intervall zum Schutz vor Massenspam

Beitrag lesen

Hallo!

Vor kurzem habe ich hier (unter anderem) zweierlei gelesen:

1. Dass es PHP-Monkeys gibt - zu denen gehöre ich wahrscheinlich... ;-)

2. Dass bei Formularen eine Sperre nützlich ist, damit man nicht per Script zig oder mehr Mails innerhalb kürzester Zeit losjagen kann.

Das habe ich zur Zeit mal so gelöst, dass im Verzeichnis "formulare" eine kleine Datei mit dem Dateinamen "IP ohne Punkte" erstellt und überprüft wird:

$ip = getenv("REMOTE_ADDR");
$ip = str_replace(".", "", $ip);
if (file_exists("formulare/$ip")) {
  $erstellung = filemtime("formulare/$ip");
  $testzeit = time();
  if ($testzeit - $erstellung < 60) {
    echo "Fehler...";
    exit;
  }
}
$jp = fopen("formulare/$ip","w");
fclose($jp);

Bei meinen Tests funktioniert das tadellos. Mindestintervall zwischen zwei Aufrufen ist 60 Sekunden, sonst gibt's ne Fehlermeldung.

Nun meine Fragen:
Reicht die Überprüfung der IP?
Und ist das ein gangbarer Weg, viele kleine Dateien zu erzeugen - oder ist das völlig daneben?

Viele Grüße, Achim