Nach nun einigen Versuchen, sehe ich nicht mehr durch und bin auf Hilfe angewießen.
Ich möchte bei meinem Counterscript nicht nur die IP Sperre zeitlich ( In Sek. ) festlegen, sondern auch die Online-Zeit der Besucher! Die Ip Sperre kann ich bereits festlegen.
Wie muss ich vorgehen, um Besucher für eine bestimmte Zeit als online angezeigen zu lassen..?
Ich danke sehr für Eure Hilfe
Ich habe folgendes Counter - Script
PHP
// Einstellungen
// IP-Sperre in Sekunden
$sperre = "400";
// Script
// ab hier nichts mehr ändern
$online = "1";
if (file_exists($pfad."counter.txt")) {
// Variabeln definieren
$eintrag_alt = array();
$eintrag_neu = array();
$teil = array();
$ip = $REMOTE_ADDR;
$zeit = time();
// Datei einlesen
$datei = fopen($pfad."counter.txt","r");
while (!feof($datei)) {
$lesen = fgets($datei,1024);
array_push($eintrag_alt,$lesen);
}
fclose($datei);
array_pop($eintrag_alt);
foreach ($eintrag_alt as $zeile) {
$teil = explode("&&",$zeile);
if (!$eingelesen) {
$gesamt = $teil[2];
$tag = $teil[3];
$heute = $teil[4];
$eingelesen = "eingelesen";
}
if ($zeit-$sperre < $teil[0]) {
array_push($eintrag_neu,$zeile);
}
if ($ip == $teil[1] && $zeit-$sperre < $teil[0]) $gesperrt = "gesperrt";
}
if (!$gesperrt) {
$gesamt++;
$heute++;
if ($tag != date("d",$zeit)) $heute = "1";
array_push($eintrag_neu,$zeit."&&".$ip."&&".$gesamt."&&".date("d",$zeit)."&&".$heute."&&\r\n");
}
// neue Daten speichern
$teil = array();
rsort($eintrag_neu);
$datei = fopen($pfad."counter.txt","w");
foreach ($eintrag_neu as $zeile) {
$teil = explode("&&",$zeile);
// online ermitteln
if ($ip_pruefung) {
if (!ereg($teil[1],$ip_pruefung) && $zeit-$sperre < $teil[0]) $online++;
}
$ip_pruefung .= "$teil[1]";
fputs($datei,$zeile);
}
fclose($datei);
}
?>
Alles anzeigen