Zum Inhalt springen

Forum

PHPWelt.net Blog - Ein weiteres tolles WordPress-Blog


Counter mit IP-Sperre

1. Counter? Wozu?
Ein Counter ist lediglich dazu da, die Besucher zu zählen. Allerdings besteht dabei das Problem, dass ein Besucher der die Seite mehrmals hintereinander besucht auch mehrmals gezählt wird und somit den Counterstand verfälscht. Dieses Problem wird durch eine simple IP Sperre gelöst.

2. Was brauche ich?
Um den Counter nutzen zu können benötigt man erstens Webspace der PHP unterstützt.Außerdem werden noch 2 gewähnliche Textdateien benötigt. Die ip.txt und die counter.txt. Diese beiden Dateien müssen sich in dem Ordner befinden, wo auch die php-Datei mit dem Script ist. Des weiteren muss man die Textdateien im CHMOD 777 hochladen.

3. Script

Hier nun das Script für den Counter:

<?php
$counter = "counter.txt";
$ip  = "ip.txt";

Den Variablen und $ipfile werden die Werte counter.txt und ip.txt zugeordnet.

if (file_exists($counter) && file_exists($ip)){

Wenn die Datei counter.txt und ip.txt existieren, dann….

   /* alter Counterstand wird gelesen */
   $fp = fopen($counter,"r");
   $zahl = fgets($fp,10);
   fclose($fp);

… wird der Inhalt der Datei counter.txt gelesen und als Wert für die Variable $counter festgelegt….

   /* IP des letzten Zugriffs wird gelesen */
   $fp = fopen($ip,"r");
   $ip_adresse = fgets($fp,15);
   fclose($fp);

… wird der Inhalt der Datei ip.txt gelesen und als Wert für die Variable $ip festgelegt….

}else {
    $zahl = 0;

Falls die Dateien nicht existieren, wird für die Variable $counter der Wert 0 festgelegt.

}

if ($ip_adresse == $REMOTE_ADDR) {echo "$zahl";}
 
if ($ip_adresse <> $REMOTE_ADDR) {

Wenn die IP des Benutzers nicht mit der IP in der Datei übereinstimmt,…

/* Zahl erhöhen */
      $zahl = $zahl + 1;

…wird die Variable $counter (der Counterstand) um 1 erhöht…

echo "$zahl";

…und wiedergegeben.

      /* neuen Counterstand schreiben */
      $fp = fopen($counter,"w");
      flock($fp,2);
      fputs($fp,$zahl);
      flock($fp,3);
      fclose($fp);

Dann wird der neue Counterstand in die Datei counter.txt geschrieben…

      /* neue IP schreiben */
      $fp = fopen($ip,"w");
      flock($fp,2);
      fputs($fp,$REMOTE_ADDR);
      flock($fp,3);
      fclose($fp);

…und die IP des Benutzers in die Datei ip.txt geschrieben

}
?>

 – Robots.txt und Ihre Befehle für Suchmaschinen »

Info:
Counter mit IP-Sperre ist Beitrag Nr. 23
Author:
Category:
PHP
Tags:
,  

8 Comments »

  1. bikershrek

    Ich bin jetzt weg von webcounter.goweb.de – waren mir einfach zu oft offline.

    Habe heute dein WordPress Counter Plugin installiert und würde gern den bisherigen Zählerstand übernehmen.
    Geht das überhaupt und wo schreibt das Plugin diese Angabe hin?

    Danke.

    Angaben zum Counter:
    Plugin URI: http://instant-counter.phpwelt.net/w…ss-plugin.html
    Description: A simple visitor counter for WordPress. It is a simple widget. It also works with cached sites.
    Author: Erik Sefkow
    Version: 1.1
    Author URI: http://www.phpwelt.net

    #1 Comment vom 18. July 2009 um 06:57

  2. Erik

    momentan geht das noch nicht. schick mir einfach deinen alten counterstand an http://www.phpwelt.net/impressum.html und ich änder das

    #2 Comment vom 23. July 2009 um 09:36

  3. Rene

    Meine Frage zu dem Counter ist ob ich den Hintergrund transparent einstellen kann?

    Danke

    #3 Comment vom 20. January 2010 um 17:19

  4. Erik

    @Rene, ja tausche in deinen countercode normal2 gegen normal3 aus:-)

    #4 Comment vom 21. January 2010 um 00:45

  5. Rene

    Danke Erik hat super funktioniert und passt jetzt besser irgendwie rein.

    #5 Comment vom 21. January 2010 um 11:17

  6. Rene

    Hallo Erik,

    momentan habe ich den Counter nicht online? Gibt es Serverschwierigkeiten oder liegt es an mir?

    #6 Comment vom 13. March 2010 um 14:41

  7. A. Tchernodarov

    Hallo,
    bei mir ist Counter Statistik installiert. Die Statistik zeigt nur die neue Besucher. Wenn jemand schon mal auf der Seite war, so wird er nicht erfasst. Wahrscheinlich passiert das wegen IP Sperre. (?) Mich interessiert aber die tatsächliche Besucherstatistik. Wie kann ich das ändern?
    danke
    Andrej

    #7 Comment vom 24. March 2011 um 23:17

  8. ThK

    Ihr sagt zwar, daß man einfach einen Counter bei Euch erstellen kann, aber dann kommt seit Monaten die Meldung, daß dies “leider” “im Moment” nicht möglich ist. Wie lange dauert bei Euch eigentlich ein Moment?
    Gruß ThK

    #8 Comment vom 20. April 2012 um 17:27

Leave a comment