problem mit reloadsperre

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"; 
?>
 

Neue Beiträge

Zurück