Safari: Code

Hallo User,

könntet ihr ma diesen Code überprüfen ob der richtig ist... genauer gesagt will ich wissen ob in diesem Script eine IP Sperre mit eingebaut ist und ob es sonst so funktioniert... ich weis das tut es aber ob das alles technisch geht...

<?
echo '<body><style type="text/css">
.textus { color:#777777; ;font-size:9;font-family:Arial;}
.textcountueber { color:#990000; ;font-size:10;font-family:Arial;}
</style>';

$vorhanden = 0;
$count=0;
$time = time();
$ip = getenv("REMOTE_ADDR");
$text=$time."#".$ip."\n";
$filename="counter.csv";
$zeile = file($filename);
$sperre = file($filename);
$datum=date("d.m.y");
$setdate=0;
$uhrzeit=date("H:i:s");
//Hier kann die Aufenthaltszeit für eine gültige Zählung und die Reloadsperre eingetragen werden (in sec)
$countgueltig=600;
$reload=600;

//Prüfung ob IP vorhanden
foreach($zeile as $sperre)
{
$arraysp = explode("#",$sperre);

if($ip==rtrim($arraysp[1]) & $arraysp[0] > $time -$reload){$vorhanden=1;}
}
//Tages- und Gesamtwert ermitteln
foreach($zeile as $wert)
{
$array = explode("#",$wert);
if($array[0]=='datum'& rtrim($array[1])!=$datum){$setdate=1;}
if($vorhanden==1){
if($array[0]=='heute' & $setdate==0){$heute=rtrim($array[1]);}
if($array[0]=='heute' & $setdate==1){$heute=1;$gestern=rtrim($array[1]);}
if($array[0]=='gesamt'){$gesamt=rtrim($array[1]);}
if($array[0]=='gestern'& $setdate==0){$gestern=rtrim($array[1]);}

}
if($vorhanden!=1)
{

if($array[0]=='heute'& $setdate==0){$heute=rtrim($array[1])+1;}
if($array[0]=='heute'& $setdate==1){$heute=1;$gestern=rtrim($array[1]);}
if($array[0]=='gestern'& $setdate==0){$gestern=rtrim($array[1]);}
if($array[0]=='gesamt'){$gesamt=rtrim($array[1])+1;}
}
}

//Tages- und Gesamtwert schreiben
$fpwrite = fopen($filename , "w");
fwrite ($fpwrite, "datum"."#".$datum."\n"."heute"."#".$heute."\n"."gestern"."#".$gestern."\n"."gesamt"."#".$gesamt."\n".$text, 750);
fclose($fpwrite);

//Useronline schreiben
$fpanhaengen = fopen($filename , "a");
foreach($zeile as $useronline)
{
$arrayuseronline = explode("#",$useronline);

if($arrayuseronline[0] > $time -$countgueltig & $ip!=rtrim($arrayuseronline[1]))
{

fwrite ($fpanhaengen,$useronline, 750);

}
}
fclose($fpanhaengen);
//wieviele user online(für Anzeige)?
$zeile1 = file($filename);

//Ausgabe

for($x=0;$x<count($zeile1);$x++){$count=$count+1;}
echo '<font class=textus>Uhrzeit: '; echo $uhrzeit; echo '</font><br>';
echo '<font class=textus> User online: '; echo $count=$count-4;echo '</font><br>';
echo '<font class=textus>Heute: '; echo $heute;echo ' </font><br>';
echo '<font class=textus>Gestern: '; echo $gestern;echo ' </font><br>';
echo '<font class=textus>Gesamt: '; echo $gesamt;echo '</font><br>';

?>

die Datei counter.csv ist ja ne Textdatei in der alles gespeichert wird die habe ich jetzt nicht noch aufgeführt...

MFG

Safari

  1. hi,

    könntet ihr ma diesen Code überprüfen ob der richtig ist...

    wenn du dir dein php so eingestellt hast, dass dir alle fehlermeldungen angezeigt werden, und keine kommen, dann dürfte syntaktisch schon mal alles richtig sein.

    genauer gesagt will ich wissen ob in diesem Script eine IP Sperre mit eingebaut ist und ob es sonst so funktioniert... ich weis das tut es aber ob das alles technisch geht...

    wenn das script das macht, was du erwartest, dürfte es von der logik her ebenfalls richtig sein.

    wenn _nicht_, dann beschreibe detailiert die auftretenden fehler, dann können wir versuchen dir bei der beseitigung zu helfen.

    andernfalls sehe ich den sinn in deiner frage gar nicht.

    gruss,
    wahsaga

    1. Hi,

      daqs Problem dabei ist nur das in der Anleitung des Counters stand das man die Datei counter.csv mit den Rechten 777 versehehn soll da es aber auch ohne diese Rechte funktioniert wollte ich fragen ob es richtig ist das man counter.csv keine vergegebenen Rechte verteilt... in dieser Datei müssen dann die Ergebnisse die das Script ausarbeitet abgesichert werden... is das schlimm wenn die Datei nicht die Rechte 777 besitzt ?

      MFG

      Safari

      1. Hi,

        daqs Problem dabei ist nur das in der Anleitung des Counters stand das man die Datei counter.csv mit den Rechten 777 versehehn soll

        der Autor dieser Anleitung hatte vermutlich sein Gehirn an der Rezeption abgegeben.

        da es aber auch ohne diese Rechte funktioniert wollte ich fragen ob es richtig ist das man counter.csv keine vergegebenen Rechte verteilt...

        Die Datei muss für den User (sprich: den Webserver) les- und schreibbar sein. Je nach Besitzer der Datei reicht also 600, 660 oder 666.

        is das schlimm wenn die Datei nicht die Rechte 777 besitzt ?

        Es ist eher schlimm, _wenn_ eine Datei solche Rechte hat. Sie ist für die Welt (=für jeden, der sich auf dem System einloggt) les-, schreib- und ausführ(!)bar.

        Cheatah

        --
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
        1. Hallo Cheatah,

          Es ist eher schlimm, _wenn_ eine Datei solche Rechte hat. Sie ist für die Welt (=für jeden, der sich auf dem System einloggt) les-, schreib- und ausführ(!)bar.

          Seit wann haben Dateien denn Rechte?

          Bisher war ich immer der Meinung, dass die Benutzer

          0:Root

          1:Owner
          2:Group
          3:Others

          Rechte auf "Dateien" (Daten/Programme/Links/Sockets/...) hätten.

          Du bist doch immer soooo pingelig, wieso dann nicht mal hier genau erklären. Kannst Du wohl nicht, oder? ;-))

          Grüße

          Tom