Hallo!
Ich versuche jetzt schon den ganzen Tag eine IP-Reloadsperre für meine Internetseite zu basteln. Ich übergebe der Funktion die $_SERVER['REMOTE_ADRESS'] und den Dateinamen eines Bildes durch $_GET['bild']. Die IP,Timestamp und Dateinamen werden in der Textdatei starips.txt wie folgt gespeichert: IP|Timestamp|Dateiname dann eine neue Zeile. Ich überprüfe dann später auf der Seite mit if(pruf_StarIP($_SERVER['REMOTE_ADRESS'],$_GET['bild'])) ob der Benutzer schon eine Bewertung zu dem Bild abgegeben hat oder nicht (so eine Sternauswahl). Leider stehe ich mir selbst im weg und komm nicht auf den Fehler.
MfG Andreas
P.S.: Bin mir nicht sicher ob ich wirklich schon Fortgeschritten bin aber habe es jetzt erstmal hier hin gestellt. Evtl. bitte ins Anfänger-Forum verlegen. Danke .
Ich versuche jetzt schon den ganzen Tag eine IP-Reloadsperre für meine Internetseite zu basteln. Ich übergebe der Funktion die $_SERVER['REMOTE_ADRESS'] und den Dateinamen eines Bildes durch $_GET['bild']. Die IP,Timestamp und Dateinamen werden in der Textdatei starips.txt wie folgt gespeichert: IP|Timestamp|Dateiname dann eine neue Zeile. Ich überprüfe dann später auf der Seite mit if(pruf_StarIP($_SERVER['REMOTE_ADRESS'],$_GET['bild'])) ob der Benutzer schon eine Bewertung zu dem Bild abgegeben hat oder nicht (so eine Sternauswahl). Leider stehe ich mir selbst im weg und komm nicht auf den Fehler.
MfG Andreas
PHP-Code:
$wartezeit = 300; // alle 5 Stunden eine neue Bewertung möglich.
$starips = "include/starips.txt";
function pruf_StarIP($rem_addr,$dateiname) {
global $starips,$wartezeit;
@$ip_array = file($starips);
$dateinamen = array();
$remote_adressen = array();
$zeitangaben = array();
$this_time = time();
$reload_dat = fopen($starips,"w");
for($i=0; $i<count($ip_array); $i++)
{
list($ip_addr,$time_stamp,$bilddatei) = explode("|",$ip_array[$i]);
$dateinamen[$i] = $bilddatei;
$remote_adressen[$i] = $ip_addr;
$zeitangaben[$i] = $time_stamp;
}
for($j=0; $j<count($dateinamen); $j++)
{
if($dateinamen[$j] == $dateiname)
$datei_vorhanden = true;
else
$datei_vorhanden = false;
if($remote_adressen[$j] == $rem_addr)
$ip_vorhanden = true;
else
$ip_vorhanden = false;
if(($zeitangaben[$j]+60*$wartezeit) > $this_time)
$zeit_abgelaufen = false;
else
$zeit_abgelaufen = true;
if($datei_vorhanden && $ip_vorhanden && !$zeit_abgelaufen)
{
$zahl = $j;
}
else
{
fwrite($reload_dat,"$remote_adressen[$j]|$zeitangaben[$j]|$dateinamen[$j]");
}
}
fwrite($reload_dat,"$rem_addr|$this_time|$dateiname\n");
fclose($reload_dat);
if($zahl != 0) return true;
else return false;
}
?>
Kommentar