• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Cookie Alter abfragen

hornster

Neues Mitglied
Hallo zusammen

Ich habe auf meiner Page einen Counter, welcher mittels einem Cookie läuft. Es wird also ein Cookie gesetzt und der Counter zählt erst eins weiter, wenn das Cookie abgelaufen ist (1 Stunde). Nun habe ich aber zum Teil über Nacht über 10'000 Besucher auf meiner Page, so zumindest zeigt es mir der Counter. Nun möchte ich eine Zusätzliche Funktion einfügen, die abfragt wie alt das Cookie ist und erst bei einem gewissen Wert wird der Counter hochgezählt. Ich habe das Gefühl der Counter zählt mir automatisiert Suchboots und sonst noch so Zeugs, das auf meine Seite zugreift, aber keine Besucher.

Wie kann ich das lösen?

Hier ist noch mein Counter-Script:
PHP:
<?php
// ----------------------------------- Grunddefinitionen ---------------------------------------- //
$gcc_aspect       = "counter";                                                         // Verzeichis, wo die Zahl-Bilder sind
$gcc_file         = "counter.txt";                                                    // Name der Datei, wo die Anzahl Besucher gespeichert wird
$gcc_cookie_name  = "harmonie-schwarzenburg";                                        // Name des cookie (eg: your site's name)
$gcc_cookie_value = "h-s_value";                                                    // Wert des cookie (eg: something about your site)
$gcc_cookie_life  = "3600";                                                            // Existentszeit des cookie. Tod nach 3600s (60min)

// ------------------------------ Counter-Datei erstellen -------------------------- //
if(!file_exists("$gcc_file")){
    $gcc_fp=fopen("$gcc_file","a");
    fputs($gcc_fp,"0");
    fclose($gcc_fp);
}

// ----------------- Der Besucher war schon hier, das Cookie existiert noch ------------------------- //
$gcc_alt = 'alt=""';
if(isset($_COOKIE["$gcc_cookie_name"]) && $_COOKIE["$gcc_cookie_name"] == "$gcc_cookie_value"){
  $gcc_fp=fopen($gcc_file,"r+");
  $gcc_hits=fgets($gcc_fp,10);
  $gcc_hits = str_replace("0","<img src='$gcc_aspect/0.jpg' $gcc_alt>","$gcc_hits");
  $gcc_hits = str_replace("1","<img src='$gcc_aspect/1.jpg' $gcc_alt>","$gcc_hits");
  $gcc_hits = str_replace("2","<img src='$gcc_aspect/2.jpg' $gcc_alt>","$gcc_hits");
  $gcc_hits = str_replace("3","<img src='$gcc_aspect/3.jpg' $gcc_alt>","$gcc_hits");
  $gcc_hits = str_replace("4","<img src='$gcc_aspect/4.jpg' $gcc_alt>","$gcc_hits");
  $gcc_hits = str_replace("5","<img src='$gcc_aspect/5.jpg' $gcc_alt>","$gcc_hits");
  $gcc_hits = str_replace("6","<img src='$gcc_aspect/6.jpg' $gcc_alt>","$gcc_hits");
  $gcc_hits = str_replace("7","<img src='$gcc_aspect/7.jpg' $gcc_alt>","$gcc_hits");
  $gcc_hits = str_replace("8","<img src='$gcc_aspect/8.jpg' $gcc_alt>","$gcc_hits");
  $gcc_hits = str_replace("9","<img src='$gcc_aspect/9.jpg' $gcc_alt>","$gcc_hits");
}

// ----------------- Ein neuer Besucher, Cookie erstellen ---------------------- //
else{
  setcookie($gcc_cookie_name, $gcc_cookie_value, time()+$gcc_cookie_life, "");
  $gcc_fp=fopen($gcc_file,"r+");
  $gcc_hits=fgets($gcc_fp,10);
  $gcc_hits++;                                                                            //Besucher erhöhen
  fseek($gcc_fp,0);
  fputs($gcc_fp,$gcc_hits);
  fclose($gcc_fp);
  $gcc_hits = str_replace("0","<img src='$gcc_aspect/0.jpg' $gcc_alt>","$gcc_hits");
  $gcc_hits = str_replace("1","<img src='$gcc_aspect/1.jpg' $gcc_alt>","$gcc_hits");
  $gcc_hits = str_replace("2","<img src='$gcc_aspect/2.jpg' $gcc_alt>","$gcc_hits");
  $gcc_hits = str_replace("3","<img src='$gcc_aspect/3.jpg' $gcc_alt>","$gcc_hits");
  $gcc_hits = str_replace("4","<img src='$gcc_aspect/4.jpg' $gcc_alt>","$gcc_hits");
  $gcc_hits = str_replace("5","<img src='$gcc_aspect/5.jpg' $gcc_alt>","$gcc_hits");
  $gcc_hits = str_replace("6","<img src='$gcc_aspect/6.jpg' $gcc_alt>","$gcc_hits");
  $gcc_hits = str_replace("7","<img src='$gcc_aspect/7.jpg' $gcc_alt>","$gcc_hits");
  $gcc_hits = str_replace("8","<img src='$gcc_aspect/8.jpg' $gcc_alt>","$gcc_hits");
  $gcc_hits = str_replace("9","<img src='$gcc_aspect/9.jpg' $gcc_alt>","$gcc_hits");
}

// --------------------- Bild-Attribute definieren ---------------------- //
//
// Höhe und Breite
$gcc_hits = str_replace('alt=""','alt="" border="0" height="35" width="26"/',$gcc_hits);
?>
 
Nun habe ich aber zum Teil über Nacht über 10'000 Besucher auf meiner Page, so zumindest zeigt es mir der Counter.
Cookies sind clientseitig und können verändert werden.

Ich z.b. habe Cookies nur auf seperaten, von mir definierten Seiten aktiviert.
Laut deinem Script würde, wenn ich diese Seite betrete, jeder Aufruf deinen "Counter" hochsetzen.

Da liegt dein Problem.

Mfg
 
Der Counter soll ja auch bei jedem Aufruf der Seite hochgezählt werden. Also unter Aufruf versteh ich, dass ein Besucher die Seite geöffnet hat, oder habe ich da etwas falsch verstanden?
 
Der Counter soll ja auch bei jedem Aufruf der Seite hochgezählt werden. Also unter Aufruf versteh ich, dass ein Besucher die Seite geöffnet hat, oder habe ich da etwas falsch verstanden?
Nach deinem Script, wird der Counter nur erhöht, wenn der Cookie nicht existiert.
Ich habe das Gefühl der Counter zählt mir automatisiert Suchboots und sonst noch so Zeugs, das auf meine Seite zugreift, aber keine Besucher
Bei deaktivierten Cookie's würde bei jedem(!) Aufruf der Counter hochgesetzt. (Bots?)

Bei aktiven Cookies würde der Counter nur einmal höher gesetzt und bis zur Ablaufzeit von $gcc_cookie_life nicht mehr höhergesetzt.

So funktioniert momentan dein "Counter".

Mfg
 
Das weiss ich. Wie kann ich es dann lösen, wenn Cookies deaktieviert sind. Weil ich kann mir sehr schlecht vorstellen, dass auf meiner Page über 10'000 Besucher in einer Nacht zugreifen. Ich habe schon lange das Gefühl, dass es sich um Bots oder so etwas ähnliches handeln könnte, was mir der Counter registriert.
 
Zurück
Oben