F
force2k1
und zwar funzt folgender script nicht richtig ! Ihre Ip wurde gefunden kommt erst beim zweiten mal das soll aber nicht so sein sondern schon nach dem ersten mal ! woran liegt es ??
PHP:
<?php
// Speicherung der Daten in einer Datei
function schreiben($datei,$mode){
global $REMOTE_ADDR;
$fp = @fopen($datei,$mode);
flock($fp,2);
fwrite($fp,$REMOTE_ADDR."|".time()."\n");
flock($fp,3);
fclose($fp);
}
function ip_sperre() {
global $REMOTE_ADDR;
// Einstellungen
$reloadlogdatei = "reload.txt";
$anzahleintraege = 1000;
$zeitlimit = 60; // in Sekunden
// Prüft, ob Datei existiert => ansonsten Erstellen
if(!file_exists($reloadlogdatei)) {
$datei = fopen($reloadlogdatei,"w+");
fclose($datei);
}
$fp = file($reloadlogdatei);
$size = sizeof($fp);
// Beschreibt die Datei, wenn Liste voll
if($size >= $anzahleintraege){
schreiben($reloadlogdatei,"w");
// Prüft, ob eine IP in der Liste steht
} else {
for ($i=0;$i<$size;$i++) {
$zeile = explode("|",$fp[$i-1]);
// IP wird gefunden
if ($zeile[0] == $REMOTE_ADDR AND $zeile[1] > (time()-$zeitlimit)){
$ausgabe = true;
// IP wird nicht gefunden
} else {
$ausgabe = false;
}
}
// Protokolliert die IP-Adresse (schreibt)
schreiben($reloadlogdatei,"a+");
}
return $ausgabe;
}
// Hauptaufruf des Programms
if(ip_sperre()==false) echo "Zugriff erlaubt";
else echo "IP wurde gefunden";
?>