Kostenlose Counter gibt es zwar genug im Netz, doch was die Verfügbarkeit und das
Antwortzeitverhalten solcher Anbieter angeht, steht es damit nicht immer zum Besten.
Auch Einsatzmöglichkeiten und Auswertungen kostenpflichtiger, professioneller Counteranbieter
ließen immer noch einige meiner Wünsche unberücksichtigt.
Spätestens mit der Möglichkeit eigene CGI-Scripts auf HTML Seiten einbinden zu
können, entstand bei mir der Wunsch nach einem universell einsetzbaren Besucherzähler, der
natürlich auch statistische Auswertungen ermöglicht.
Da ich beruflich ebenfalls Perl Kenntnisse benötigte, sind im Laufe meines
"Perl - Selbststudiums" einige Scripts entstanden, die vielleicht
irgendjemand im WordWideWeb für seine eigene Site ebenfalls gebrauchen kann.
Und dabei herausgekommen sind vier kleine Perl Scripts:
counter.cgi ein schneller Counter mit File-Locking, Reload-Sperre (optional)
und Statistik-Datensammlung, kann wahlweise versteckt oder mit Text-Ausgabe oder grafischer Anzeige
aufgerufen werden.
cadmin.cgi ein Administrations Script zum Anlegen, Modifizieren, Löschen
der Counter Dateien, sowie zum Abrufen der Besucher Statistiken.
chistsave.pl eine kleine Unterroutine, die sowohl von counter.cgi als auch
von cadmin.cgi maximal 1xmal täglich benötigt wird.
cversions.pl eine kleine Unterroutine, die von cadmin.cgi
(zur Analyse der Browser Useragent Informationen) benötigt wird.
Beispiel einer Besucher-Statistik für einen Counter mit der ID 100,
Logic Einstellung: "smart"
Stand 04.04.2001
Die Namen der Unterverzeichnisse cgi-bin, img und sdata
müssen eventuell auf die Gegebenheiten Deines Servers angepasst werden;
das sdata Verzeichnis sollte für
Besucher "versteckt", d.h. nicht sichtbar sein
oder mit Passwortschutz versehen werden.
Die relative Adresse des Basis-Verzeichnisses, ausgehend vom jeweiligen
cgi-bin Verzeichnis, muss mit "/" End-Delimiter angegeben werden.
(cgi-bin = das Verzeichnis, in dem das Script cadmin.cgi steht)
c.
Zeile 18
$logfile = $basedir.'sdata/log_.txt';
relative Adresse der Counter Logfiles, das "_"(underscore)Zeichen wird
dynamisch durch die numerischen Counter-Ids ersetzt.
d.
Zeile 19
$histfile = $basedir.'sdata/hist_.txt';
relative Adresse der Counter Historyfiles, das "_"(underscore)Zeichen wird
dynamisch durch die numerischen Counter-Ids ersetzt.
e.
Zeile 22
$master = 'ganz-geheimes-wort';
das Masterpassword zur Counter Verwaltung, notwendig zum Anlegen oder Löschen
von Counter Files, sowie zum Reset des individuell für einen Counter vergebenen Passwords
f.
Zeile 25
$whois = 'http://www.domain ...';
Netzadresse eines WHOIS Informations Servers, wird in der Besucher Detailliste
zur (bequemen) Abfrage einer in der Statistik ausgewiesenen
IP Adresse benötigt.
g.
Zeile 28
$logic = 1;
Dieser Schalter kann auf 0 oder 1 stehen;
der Wert bestimmt die Art und Weise, wie der statistische Tages-, Monats- und Jahresdurchschnitt
der Besucher ermittelt wird ... am besten einfach mal ausprobieren ;-)
h.
Zeile 33
$shist = 150;
Vordefinierte Anzahl von Detaileinträgen in Counter History-Files.
Dieser Wert dient nur als Vorgabe beim Anlegen neuer Counter; er kann immer für jeden
Counter individuell gesetzt werden.
i.
Zeile 34
$sdays = 31;
Vordefinierte Anzahl von Tagessummen Einträgen in Counter History-Files.
Dieser Wert dient nur als Vorgabe beim Anlegen neuer Counter; er kann immer für jeden
Counter individuell gesetzt werden.
j.
Zeile 35
$smons = 12;
Vordefinierte Anzahl von Monatssummen Einträgen in Counter History-Files.
Dieser Wert dient nur als Vorgabe beim Anlegen neuer Counter; er kann immer für jeden
Counter individuell gesetzt werden.
k.
Zeile 36
$syears = 2;
Vordefinierte Anzahl von Jahressummen Einträgen in Counter History-Files.
Dieser Wert dient nur als Vorgabe beim Anlegen neuer Counter; er kann immer für jeden
Counter individuell gesetzt werden.
l.
Zeile 37
$minhist = 50;
Vordefinierter Anzahl von anzuzeigenden Detail Einträgen in Counter Statistiken.
Dieser MinimalWert dient nur als Vorgabe beim Aufruf der Statistik Anzeige; er kann immer für jede
Abfrage höher gesetzt werden.
In den Zeilen 41-47 folgen die Definitionen der GIF-Files,
die zur grafischen Darstellung der einzelnen Summen-Balken verwendet werden.
Der einstellige Namensprefix entspricht den verhandenen Farben.
b
= blue
d
= darkgrey
g
= green
m
= maroon
o
= orange
p
= pink
r
= red
t
= turquoise
v
= violet
y
= yellow
m.
Zeile 41
$dsumc = $basedir.'img/g.gif';
relative Adresse des GIF-Files für die Darstellung der Tagessummen
n.
Zeile 42
$msumc = $basedir.'img/t.gif';
relative Adresse des GIF-Files für die Darstellung der Monatssummen
o.
Zeile 43
$ysumc = $basedir.'img/b.gif';
relative Adresse des GIF-Files für die Darstellung der Jahressummen
p.
Zeile 44
$fsumc = $basedir.'img/r.gif';
relative Adresse des GIF-Files für die Darstellung der Statistik der bevorzugten Browser
(Browser War)
q.
Zeile 45
$bsumc = $basedir.'img/o.gif';
relative Adresse des GIF-Files für die Darstellung der Statistik der Browser Versionen
r.
Zeile 46
$osumc = $basedir.'img/y.gif';
relative Adresse des GIF-Files für die Darstellung der Statistik der Betriebssysteme
s.
Zeile 47
$ssumc = $basedir.'img/m.gif';
relative Adresse des GIF-Files für die Darstellung der Statistik der Bildschirmgrößen
t.
Zeile 49
$purim = $basedir.'img/ph.gif';
relative Adresse des PurpurHain Logos, erscheint am Ende der Statistikseiten
ein bißchen Werbung darf wohl sein ;))
Die relative Adresse des Basis-Verzeichnisses, ausgehend vom jeweiligen
cgi-bin Verzeichnis, muss mit "/" End-Delimiter angegeben werden.
(cgi-bin = das Verzeichnis, in dem das Script counter.cgi steht)
c.
Zeile 30
$logfile = $basedir.'sdata/log_.txt';
relative Adresse der Counter Logfiles, das "_"(underscore)Zeichen wird
dynamisch durch die numerischen Counter-Ids ersetzt.
d.
Zeile 31
$histfile = $basedir.'sdata/hist_.txt';
relative Adresse der Counter Historyfiles, das "_"(underscore)Zeichen wird
dynamisch durch die numerischen Counter-Ids ersetzt.
Aufruf von http://www.deine-domäne.de/cgi-bin/cadmin.cgi
Angabe der numerischen Counter-Id
Auswahl der Funktion Create
Eingabe des Master Passwords
Aktueller Counter Wert, ohne Angabe wird der Wert auf 0 gesetzt
Angabe der Counter Homepage Adresse (ohne http://)
Definition der Statistik Vorgaben (Anzahl der Detail Records, Tage, Monate, Jahre, die für
die Statistik ausgewertet werden)
Eingabe des Counter Passwords
wiederholte Eingabe des Counter Passwords (zur Verifikation)
HTML Einbindung eines Counters
Folgende Parameter werden unterstützt, wobei die Schreibweise nicht case-sensitiv ist.
Optionale Angaben sind in { Klammern eingeschlossen },
Defaultwerte sind farbig hinterlegt:
ID=counterid numerische Counter-Id, möglich sind Werte von 1 bis 99999, führende Nullen werden ignoriert.
{ INCR=false || true || 0 || 1 }
Dieser Parameter legt fest, ob der Counter hochgezählt werden soll
INCR=true, INCR=1
oder nur der aktuelle Wert als Grafik oder Textstring angezeigt wird
INCR=false, INCR=0,
Defaultwert ist INCR=true.
{ REF=document.referrer }
document-referrer-URL, zum Erfassen des auf den Counter verweisenden HTML-Dokumentes,
bei deaktiviertem Javascript wird hier noscript ausgewiesen.
Werte werden allerdings nur in Kombination mit INCR=true erfasst.
{ RL=anzahl-sekunden-für-IP-reload-sperre || 0 }
Anzahl Sekunden für eine IP-Adressen Reload-Sperre, ohne Angabe gilt der Defaultwert
RL=0.
Diese Angabe wirkt nur in Kombination mit INCR=true.
{ SH=screen-height }
Hier wird per Javascript der aktuelle screen-height Wert erfasst,
allerdings nur in Kombination mit INCR=true.
{ SW=screen-width }
Hier wird per Javascript der aktuelle screen-width Wert erfasst,
allerdings nur in Kombination mit INCR=true.
Die folgenden MASK, MASKBW und MASKWB Parameter schliessen sich gegenseitig aus.
Fehlt jegliche MASK* Definition,
wird immer ein transparentes GIF Image-File ausgegeben (1x1 Pixel).
{ MASK=ausgabe-maske-textstring }
Dient zur Festlegung der Ausgabe-Maske des Counters entweder
a) als Textstring mittels Javascript document.write($count);
b) oder Textstring per SSI.
Für eine 5stellige
Ausgabe mit führenden Nullen wird beispielsweise der Parameter mit MASK=00000
definiert, Minimum für eine Textstring Ausgabe ist ansonsten die Angabe von
MASK=0.
{ MASKBW=ausgabe-maske-XBM-Grafik-schwarz-auf-weiss }
Dient zur Festlegung der Ausgabe-Maske des Counters als XBM Grafik (schwarz auf weissem Hintergrund).
Für eine 4stellige
Ausgabe mit führenden Nullen wird beispielsweise der Parameter mit
MASKBW=0000 definiert,
Minimum für eine Grafik Ausgabe ist ansonsten die Angabe von
MASKBW=0.
{ MASKWB=ausgabe-maske-XBM-Grafik-weiss-auf-schwarz }
Dient zur Festlegung der Ausgabe-Maske des Counters als XBM Grafik (weiss auf schwarzem Hintergrund).
Für eine 6stellige
Ausgabe mit führenden Nullen wird beispielsweise der Parameter mit
MASKWB=000000 definiert,
Minimum für eine Grafik Ausgabe ist ansonsten die Angabe von
MASKWB=0.
Beispiele für die Counter Einbindung:
1.
Counter mit Reloadsperre, Aufruf über Javascript oder noscript.
Ausgegeben wird ein transparentes 1x1 Pixel GIF File, unsichtbar für den Besucher.
Counter ohne Reloadsperre, Aufruf über SSI, auf die Erfassung von
document.referrer, screenheight und screenwidth wird ohne Javascript verzichtet
Diese Seite wurde
<span style="font-size:16px; color:#33ff00; background-color:#000000;">
<!--#include virtual="/cgi-bin/counter.cgi?id=4711&mask=0"--></span>
mal aufgerufen.
Diese Seite wurde
mal aufgerufen.
Anzeige der Counter Statistiken
Aufruf von http://www.deine-domäne.de/cgi-bin/cadmin.cgi
Angabe der numerischen Counter-Id
Auswahl der Funktion Display
Eingabe des Counter Passwords
Anzahl der anzuzeigenden Statistik Detail Records ändern
Ein Statistik Beispiel kannst Du
hier ansehen.
Stand 04.04.2001
Counter Werte verändern
Aufruf von http://www.deine-domäne.de/cgi-bin/cadmin.cgi
Angabe der numerischen Counter-Id
Auswahl der Funktion Update
Counter Wert modifizieren (ansonsten verbleibt der aktuelle Wert unverändert)
Counter Homepage Adresse ändern (ohne http://)
Definition der Statistik Vorgaben ändern (Anzahl der Detail Records, Tage, Monate, Jahre,
die für die Counter Statistik ausgewertet werden)
Eingabe des aktuellen Counter Passwords, kann bei Angabe des Master Passwords entfallen
Eingabe eines neuen Counter Passwords (falls gewünscht)
Counter löschen
Aufruf von http://www.deine-domäne.de/cgi-bin/cadmin.cgi
Angabe der numerischen Counter-Id
Auswahl der Funktion Delete
Eingabe des Master Passwords
Download
Die Counterscripts mit Image-Files und Dokumentation können
hier
runtergeladen werden (Zipfile 84KB).
Support
Support ... gibt es eigentlich nicht ...
aber ...
Anregungen?, Fragen??, Probleme ???, Danksagungen????