Versteckter Zähler
Der Counter gibt nicht wie die sonstigen Counter nur die Zahl der Zugriffe aus, sondern zeigt auch an, von wo der Zugriff erfolgt wurde und wann. Ausserdem besteht die Möglichkeit bestimmte Rechner/Server nicht mitzuzählen. (Zum Beispiel den Rechner desjenigen, der den Counter auf seiner eigenen Homepage hat.)
Der Counter ist unsichtbar derart, dass er keine Zugriffszahl beim Aufruf anzeigt, sondern die Daten in eine gesonderte Datei schreibt. Es ist dann Sache des Users zu entscheiden, ob er die Zugriffsstatistik dann zugänglich macht. (Zum Anzeigen der Statistik wird ein weiteres Programm benötigt.)
Source Code
| Perl Sourcecode | |
| hidecount.pl | Das Skript hidecount.pl |
| counterlog.pl | Das Skript counterlog.pl |
| Achtung: Sollte beim obigen Download-Link fehlerhafterweise als Dateiname "xload.cgi" angegeben sein, ignorieren Sie dies und benennen den Dateinamen um. Einige Browser ignorieren leider den Standard zur Übermittlung von Dateinamen... | |
Wirkungsweise
Aufruf
Zum Aufruf des Counter müssen Sie diesen in Ihr HTML-Dokument als <image> einbinden. Zusätzlich sind folgende Schritte vorzunehmen:
- Sie müssen ein log-file erstellen und es les- und schreibbar machen (chmod a+rw Dateiname).
- Falls der Zugriff auf die zu referenzierende Seite von bestimmten
Rechnern nicht gemeldet werden soll (z.B.wenn Sie nur Zugriffe von außerhalb der FAU erfassen wolllen,
müssen Sie eine Datei erstellen in der Sie alle Hosts aufführen, die
nicht in der Zugriffs-Statistik erscheinen sollen.
Damit der Counter diese Datei benutzen kann,
ügeben Sie ihm diese durch Angabe des Parameters: &ignorefile=Dateiname.
Die Datei kann dabei so aussehen:
192.0.34.166 meinhost.example.org
Dies würde bedeuten, daß Zugriffe von den Rechnern 192.0.34.166 und meinhost.example.org nicht gezählt werden würden. Es macht dabei keinen Unterschied, ob Sie die IP oder den Rechnernamen angeben.
- Zur Darstellung der Zugriffs-Statistik können Sie einen optionalen Link legen, müssen es aber nicht. Den Aufruf der Statistik können Sie aus der Document Source ersehen.
Folgende Syntax wird beim Aufruf des Counters verwendet:
<img src="http://.../cgi-bin/hidecount.pl?logfile=(Datei1)&GRAPHIC=(Datei2)&ignorefile=(Datei3)">
-
Wobei:
- (Datei1) = Voller Pfadname der zu zählenden Seite, einschließlich des Dateinamens.
- (Datei2) = Voller Pfadname der Grafik, die dargestellt werden soll.
- (Datei3) = Vollder Dateiname zu der Datei mit den zu ignorierenden Rechnern. Diese Angabe ist optional!
- (Datei1) = Voller Pfadname der zu zählenden Seite, einschließlich des Dateinamens.
Folgende Syntax wird verwendet bei der Statistik:
<a href="http://.../cgi-bin/counterlog.pl?log=(Path)[&sort=(Sort)] [&language=(Sprache)]">Zugriffsstatistik</a>
- Wobei:
- (Path) = Voller Pfadname der Log-File, einschl. Dateiname.
- (Sort) = Die Art der Sortierung: 'bydate','byaddr' und 'byaccess' sind möglich. 'byaccess' ist Defaultmässig eingestellt.
- (Sprache) = Die Ausgabe kann in Englisch oder Deutsch erfolgen: 'german' oder 'english' angeben. Default ist 'german'.
- (Sort) = Die Art der Sortierung: 'bydate','byaddr' und 'byaccess' sind möglich. 'byaccess' ist Defaultmässig eingestellt.
Installation
- Installation von hidecount.pl
Ändern Sie folgende Zeilen entsprechend Ihrer Server-Einstellungen ab:Zeile 1 #!/local/bin/perl5
Tragen Sie hier Ihren eigenen Pfad zu Perl ein.Zeile 28 $DATE = "/usr/bin/date +'%a %b %e %T %Y'";
Tragen Sie hier ggf. den eigenen Pfad zum Unixtool date ein. Die Parameter sollten standardgemäß bei allen Linix/UNIX-Distributionen sein.Zeile 29 $ERROR_PICTURE = "/pictures/skripterror.gif";
Tragen Sie hier Ihren Pfad zu einem GIF-Bild an, welches Sie defaultmäßig sehen wollen, falls es zu einem Fehler gekommen ist. Der Fehlertext wird dabei in die Fehlerlog-Datei geschrieben (s.u.).Zeile 31 $DEFAULT_GRAPHIC = "/pictures/peri.gif";
Tragen Sie hier Ihren Pfad zu einem GIF-Bild an, welches Sie defaultmäßig sehen wollen, falls kein gültiges Bild in der Variable GRAPHIC angegeben wurde.Zeile 33 @LOGFILE_DIRS = ("/home1/","/home2/","/tmp/");
Tragen Sie hier ein, unter welchen verzeichnissen die Userspezifischen Logdateien liegen dürfen. Damit wird vermieden, daß Logdateien z.B. in dem Pfad /etc/ geschrieben werden.Zeile 36 $ERROR_FILE = "hidecount-errors.txt";
Im Fehlerfalle werden die Fehlermeldungen in diese Datei geschrieben.Zeile 38 $RELOAD_TIMEOUT = 10;
Möchten Sie eine Reload-Sperre einrichten, können Sie hier angeben, für wie lange Zugriffe von einem Besucher nicht neu gezählt werden.Zeile 42 $TMPDIR = "tmp";
Falls eine Reload-Sperre eingerichtet ist, wird der letzte Zugriff in eine temporären Datei festgehalten, welche in diesem Verzeichnis abgelegt wird.Zeile 45 $TMPSUFFIX = ".last";;
Temporäre Dateien für die Reload-Sperre erhalten diese Dateiendung.Zeile 47 $RELOADCHECK = 1;
Hier wird die Reload-Sperre angeschaltet. Sie gilt global für alle installierten Counter.
- Installation von counterlog.pl
Ändern Sie folgende Zeilen entsprechend Ihrer Server-Einstellungen ab:Zeile 1 #!/local/bin/perl5
Tragen Sie hier Ihren Pfad zu Perl ein.Zeile 44 require "cgi-library.pl";
Tragen Sie hier den vollen Pfad zu der cgi-library.pl ein. Installationsanleitung zur cgi-library.pl finden Sie auf http://www.xwolf.de/lib/cgi-library.htmlZeile 47 $LOGPATH='';
Geben Sie hier ein Default-Pfad an, wo nach der Log-Datei gesucht wird. Wird nur benutzt, wenn keine Logdatei gefunden wird. Dann wird im default-Verzeichniss eine neue Log-Datei angelegt, falls dem Webserver dies möglich ist.
Anmerkung
- Die neue Version des Zählers enthält eine Reload-Sperre. Das bedeutet, daß Zugriffe auf eine Datei nicht mehrfach gezählt werden, falls Sie innerhalb von XX Sekunden von derselben Site kommen.
- Diese Version ist voll abwärtskompatibel zu den alten Versionen.
- Bei der Einrichtung eines Counters kann es zu Fehlern kommen. Im Fehlerfalle wird je nach Einstellung ein Default-Image angezeigt. Außerdem werden die Fehlermeldungen in eine Logdatei geschrieben.
- Die neue Version des Zählers benötigt nicht mehr die cgi-library.pl.


