Der grafische/text Counter von M. Kühn, Stand 10.04.2005
--------------------------------------------------------
-----------------------------------------------------------------------------
Wichtiger Hinweis: Der Counter wird nicht mehr weiteretwickelt, es
steht aber bald ein wesentlich benutzerfreundlicher und schnellerer Counter
auf Basis von PHP und MySQL zur Verfügung. Weiteres auf Anfrage.
(webmaster@nenafan.de) 10.04.2005
-----------------------------------------------------------------------------
Als erstes möchte ich etwas Allgemeines zum Counter sagen, dann auf die
einzelnen Funktionen eingehen.
Der Counter ist natürlich kostenlos und ohne Werbung. Jeder, der so einen
Counter bei mir hat, hat ein eigenes Verzeichnis in dem alle notwenidigen
Counterdaten und Logfiles stehen. Dieses Verzeichnis ist passwortgeschützt
so dass nur jeder selbst an die logfiles kommt.
Der Counter ist ein CGI-Programm was durch einen Grafikeinbindung aufgerufen
werden kann. Standard:
x MB
# ol=1 1 = Zeigt die Anzahl der verschiedenen Aufrufe in der Reloadzeit
# info oder
# help oder
# hilfe dieser Hilfetext
# Log-Datei Keywords DI = DISPLAY (Counteranzeige mit Vorgabewert)
# OK = OK (normaler Counteraufruf)
# IN = INIT (Counterinitialisierung)
# SE = Counter manuell gesetzt
# DO = Doppelaufruf während Sperrzeit
# LP = Logdatei pruefen/Counter rekonstruieren
# Dateien count_c.dat"; # Zählerdatei
# count_c1.dat"; # Sicherheitskopie Nr.1
# count_c2.dat"; # Sicherheitskopie Nr.2
# count_c3.dat"; # Sicherheitskopie Nr.3
# count_u.dat"; # Liste der Reload-IP's
# count_ux.dat; # "a" - "z" Subcounter
# count.log"; # Zähler log-Datei
# count.cfg # Counter-Konfigurationsfile
# stat_t.log"; # Tages-Logdatei
# stat_m.log"; # Monats-Logdatei
# stat_j.log"; # Jahres-Logdatei
# count.env # %ENV-Dump des letzen Besuchers
ID = Deine persönliche 8-stellige ID
Name = Dein Counter-Verzeichnis
Passwort = Dein Paßwort
Der Counter wird im Prinzip so aufgerufen:
für die id mußt Du statt 12345678 deine eigene ID verwenden.
Mit der id 12345678 kannst Du den Counter testen. Ich habe einen Testcounter eingerichtet
den man beliebig testen und manipulieren kann.
werden keine weiteren Paramter übergeben, gelten folgende
Standardeinstellungen:
Reloadfestigkeit: 600 s
Stellenanzahl: 6
Paramter können beliebig angegeben werden, getrennt werden die durch
ein "&" beim Aufruf. Für ein 10 stelligen Counter mit 120 s
Reloadfestigkeit sieht das so aus:
Statt einem & als Trennzeichen für die Optionen, kann auch ein |
oder & eingesetzt werden. Letzteres wandelt der Browser beim
Aufruf in ein &. Wozu dann &? Weil HTML4 - Syntaxcheckprogramme
das & im Quelltext unter Umständen als Fehler erkennen.
Die Countergrafik wird momentan aus 15 verschiedenen ausgewählt.
Ohne Angabe einer Grafiknummer geschieht das per Zufall. Die Grafiken
werden in Kürze (Stand: 4.12.2000) stark erweitert. Welche Grafiken
zur Verfügung stehen könnt ihr auf der Counterdemoseite sehen:
http://www.nenafan.de/php/cntdemo.php
Jetzt noch ein paar Erläuterungen zu einigen Optionen:
gr=x Nummer der Counter-Grafik
------------------------------
10 Countergrafiken (0...9) standen ursprünglich zur Verfügung.
Inzwischen wurde die Anzahl der Grafiken erweitert, es stehen
Counter in der Standardgröße (20x15 pro Ziffer) im Bereich
0 bis 99 zur Verfügung, andere Größen im Bereich 100 bis 999.
Welche aktuell zur Verfügung stehen könnt ihr immer über die
Counterdemoseite erfahren:
http://www.nenafan.de/php/cntdemo.php
Wenn gr=x nicht angegeben ist, wird eine zufällige Grafik aus dem
Bereich 0 bis 99 ausgewählt. Bei der Standardanzahl der angezeigten
Stellen (6) ist die komplette Countergrafik 20 x 90 Pixel groß.
ti=x Reloadfestigkeit
---------------------
Es wird IP-Adresse und User-Client überprüft. Erfolgt ein Relaod
des Counters innerhalb der Angegebenen Zeit zählt der Counter
nicht, wenn IP-Adresse und User-Client (also Browser Typ und Version)
übereinstimmt. Jedes Counter-Neuladen setzt die Zeit wieder auf
0 zurück, sie zählt also immer ab dem letzten Zugriff.
Wenn man den Counter in einem eigenen Frame hat, kann man die
Reloadfestigkeit ruhig kleiner wählen, nutzt man den Counter
auf mehreren Seiten (er soll aber nur einmal zählen) sind
600 s eigentlich eine gute Wahl.
Zusätzlich wird in der jetzigen Version des Counters auch noch
der Proxy (IP-Adresse und Name) zum Test mit herangezogen.
Stimmen alle Angaben überein, wird ein Zählen verhindert.
di=x Angezeigter Zählwert
-------------------------
dient eigentlich nur dazu eine bestimmte Zahl anzuseigen. Bis
maximal 40 Stellen sind möglich. Der Counterstand wird dadurch nicht
beeinflußt.
in=x Counterinitialisierung
---------------------------
Setzt den Counter auf den angegebenen Vorgabewert. Monats- und Jahreszähler
werde ebenfalls auf diesen Wert gesetzt. bei dieser Optiopn muß aber
auch das Paßwort mit pw=DeinPasswort mit angegeben werden, sonst könnte ja
jeder den Counter manipulieren.
Beispiel: (Setzt den Counter auf 120)
Achtung! Bei dieser Initialisierung werden die Logfiles gelöscht und alle
Couter rückgesetzt! Soll nur der Counter selbst gesetzt werden, bitte die
Option se=x benutzen.
se=x Counter manuell setzen
---------------------------
Der Counter wird auf den angegebenen Wert gesetzt. Die Übergabe des
Passwortes ist wie bei in=x notwendig. Logfiles und Tages/Monats/Jahreszähler
bleiben erhalten.
Beispiel: (Setzt den Counter auf 333)
du=1 Doppelaufruf im Logbuch unterdrücken
-----------------------------------------
Diese Option verhindert, daß ein Reload ins Logbuch eingetragen wird.
dadurch wird die Logdatei kleiner. Jeder muß selbst wissen ob er die
Daten haben möchte oder nicht.
il=0 Nur erste 3 Zahlen der IP-Adresse testen (default=1)
---------------------------------------------------------
Wenn Parameter il=0 (IP-Adresse lang) übergeben wird, prüft der Counter für
die Reloadfestigkeit nur die ersten 3 Stellen der IP-Adresse. Man sollte diese
Option nur in Ausnahmefällen anwenden. Z.B. wenn sich zeigt, dass sich die
IP-Adresse eines Surfers während der Sitzung ändert. Dies sollte aber im
Normalfall nicht auftreten. Eventuell ändert sich ja die Proxy-Adresse,
dann sollte man aber die Option pr=0 wählen, wie weiter unten beschrieben.
pr=0 Proxytest für Reloadsperre ausschalten (default=1)
-------------------------------------------------------
Wie sich gezeigt hat, zählte der Counter bei gleicher IP-Adresse kurz hintereinander.
Nach Analyser der Logfiles zeigte sich, dass im Abstand von einigen Sekunden der
Aufruf zwar von der gleichen IP-Adresse kam, aber von unterschiedlichen Proxy-
Adressen. Eigentlich war das auch so gewollt. Offensichtlich können sich aber
die Proxy-Adressen eines Users von einem zum anderen Moment ändern. Mit der
Option pr=0 kann man die Proxyüberprüfung ausschalten und der Counter zählt
dann nur noch wenn sich die IP-Adresse oder der Browsertyp ändert. (im eingestellten
Zeitrahmen. Allerdings können so die Surfer in einem Firmennetzwerk, die meistens
die gleichen Browser benutzten nicht mehr einzeln identifiziert werden. Der
Counter würde also nur einmal zählen. Welche Option nun gewählt wird muss jeder
selbst entscheiden. Voreingestellt ist aber "mit Proxyüberprüfung", also so wie
bisher.
tx=1 Textcounter
----------------
Wer den Counter nicht als Grafik haben möchte kann ihn auch mit der
Option tx=1 aufrufen, das Programm gibt dann den reinen Zahlenwert im
Textformat zurück. Wie dieser Wert dann ausgewertet wird bleibt jedem
selbst überlassen.
tx=2 Textcounter Rückgabe var count=wert
----------------------------------------
Mit dieser Option wird ebenfalls ein Textcouter zurückgegeben, allerdings
schon für JavaScript vorbereitet. Die Rückgabe sieht so aus:
var count=12345,
12345 steht für den aktuellen Counterstand. Diese Variable count kann man
gegenüber der reinen Textversion recht gut weiterverwenden. Ein Aufruf
des Counters könnte so eussehen:
Die Variable count kann man dann mit JavaScript verarbeiten bzw. anzeigen.
Der Nachteil ist, dass so ein Counter nur bei aktiviertem JavaScript
funktioniert.
Für die Ausgabe des Counters braucht man noch einmal JavaScript:
tx=3 Textcounter Ausgabe mit document.write
-------------------------------------------
Bei dieser Methode wird der Counter direkt mit der JavaScript-Funktion
document.write ausgegeben. Du brauchst also den Code nur direkt dahin
kopieren, wo dann der Counter stehen soll. Das bietet sich gegebüber
der Methode tx=2 an wenn man den Wert nicht noch irgendwie
weiterverarbeitet will und ihn auch nur einmal auf der Seite anzeigen
möchte. Hier ein Beispiel:
hd=x bd=x Countergröße (Skalierung)
-----------------------------------
Eigentlich schon eine ganze Zeit in das Counterprogramm integriert,
bisher aber ohne sinnvolle Funktion. Jetzt ist es möglich, die
Countergröße zu skalieren. Mit hd=x gibt man die Höhe des Counders an,
mit bd=x die Breite einer Ziffer (digit). Ohne Angaben werden die
Werte der Originalgröße der Countergrafik verwendet. Die Grafiken
000 bis 099 haben die Größen hd=20 und bd=15.
Größere Grafiken (100-999) kann man so auch verkleinern. Wie gut das
dann alles aussieht muß man im Einzelfall testen. Empfehlen kann ich
als Vergrößerung jeweils ein ganzes Vielfaches (hd=40,60,80...),
bei Verkleinerung, die wirklich nur Sinn bei großen Grafiken macht,
ein 2^x-Teiler (hd=10,5).
lp=1 Counter aus Logfile rekonstruieren
---------------------------------------
Diese Funktion wird automatisch bei Bedarf aufgerufen. Man kann sie
aber auch durch die Übergabe von lp=1 erzwingen. Die Logdatei wird
nach dem größten Zählwert durchsucht und dieser wird dann als neuer
Counter-Wert abgespeichert. Weiterhin werden für Tages/Monats- und
Jahreszähler die jeweiligen Aufrufe summiert. Sollte die Summe
größer als der alte Wert sein, wird dieser als aktueller Wert
übernommen. Dieser Wert muss aber nicht mit den korrekten Zugriffen
übereinstimmen da ein logfile ja nicht alle Aufrufe eines Monats
enthalten muss (Logfileüberlauf, Initialisierung).
lp=1 Counter aus Logfile rekonstruieren und Maxwerte übernehmen
---------------------------------------------------------------
Diese Option sollte man im Normalfall nicht verwenden. Im Grunde
verhält sich der Counter wie bei lp=1 nur das zusätzlich in die
Tages/Monats/Jahreszähler der maximale Counterstand aus dem
Logfile übernommen wird. Das hat nur einen Sinn wenn der Counter
vor kurzem initialisiert wurde und man weiss, dass die Zähler
sowieso alle den gleichen Stand haben müssten.
Logfiles
--------
Die Logfiles kannst Du einsehen indem Du auf folgende Seite gehst:
http://www.nenafan.de/count/DeinName/
Du wirst nach Username und Paßwort gefragt.
count.log Listet jeden Zugriff mit Datum, Uhrzeit, Counter-Stand
IP-Adresse und User-Client auf, soll später mal grafisch
ausgewertet werden.
stat_t.log zählt die Zugriffe pro Tag
stat_m.log zählt die Zugriffe pro Monat
stat_j.log zählt die Zugriffe pro Jahr
count_c.dat die Counter-Zähldatei, dort sind Variablen abgelegt
die vom Counter benötigt werden.
count_c1.dat Sicherheitskopie 1 der Counterdatei
count_c2.dat Sicherheitskopie 2 der Counterdatei
count_c3.dat Sicherheitskopie 3 der Counterdatei
count_u.dat Liste der IP's, die den Counter mehrfach innerhalb der
Sperrzeit aufgerufen haben. Erläuterungen am Ende
dieses Textes unter "Neuigkeiten"
count_ux.dat x = a ... z Reloadliste (wie count_u.dat) nur hier für
die einzelnen Subcounter.
count.env Alle möglichen Umgebungsvariablen des letzen Counteraufrufes.
Ist nur sinnvoll für Tests.
Tip: Wenn man für den Counter eine feste Stellenanzahl angegeben hat, z.B.
6 Stellen, empfielt sich, beim
die Größe und Breite des
Counters mit anzugeben. Ein digit ist 20 Pixel hoch und 15 pixel breit.
Hier ein Beispiel:
Falls Du noch fragen hast, melde Dich einfach bei mir: mario@nenafan.de
Neuigkeiten
-----------
29.08.1999 Es wurde die Reloadfestigkeit des Counters verbessert. Wenn früher
ein Counteraufruf von einem anderen Besucher erfolgte, der innerhalb der
eigenen Countersperrzeit lag, war die eigene Sperrzeit nicht mehr aktiv.
Das spielt natürlich nur eine Rolle wenn die Homepage sehr gut besucht ist
und wenn der Counter auf mehreren Seiten eingebunden ist.
Jetzt wird eine Datei angelegt, die sich alle Besucher mit den eigenen
Sperrzeiten merkt und den Counter entsprechend sperrt. Das wird mit der
Datei count_u.dat realisiert.
11.11.1999 Ergänzend zum Counterprogramm gibt es jetzt eine grafische Auswertung der
Logfiles. Allerdings befindet sich dieses Programm noch in der Entwicklung. Es
kann aber trotzdem schon verwendet werden. Der Aufruf erfolgt über:
http://www.nenafan.de/cgi-bin/cntstat.pl?id=12345678
für id= ist wieder Deine 8-stellige ID einzugeben.
Das Statistikprogramm wird noch stark erweitert, zum jetzigen Zeitpunkt steht
erst ein kleiner Teil der Auswertung zur Verfügung.
17.11.1999 Da sich gezeigt hat, daß einige Online-Dienste die IP-Adresse der Surfers
bei bestehender Verbindung teilweise ändern, ist die Reloadfähigkeit des
Counters nicht 100%ig. Aus diesem Grund habe ich die letzte Ziffer aus
dem Vergleich entfernt. Leute, die trotzdem ein Überprüfen der gesamten
IP-Adresse wünschen übergeben beim Aufruf des Counters zusätzlich
il=1 (steht für IP-Adresse lang).
18.11.1999 Wird beim Aufruf des Counters die Variable tr=1 gesetzt (transparenz), wird
ein transparentes GIF-Bild in der Größe 3 x 3 Pixel zurückgegeben. Dadurch
kann man den Counter "unsichtbar" auf mehreren Seiten einsetzen und bekommt
auch Zugriffe mit, die nicht über die Startseite erfolgen. Durch die
Reloadfestigkeit ist ein Mehrfachzählen ausgeschlossen.
02.12.1999 - subcounter möglich
- env Datei
- Hilfe
Die umfangreichste Erweiterung des Counters ist die Möglichkeit, Unterzähler
zu verwenden. Diese Subcounter werden wie der eigentliche Counter aufgerufen,
als Variablenübergabe wird sc=x (x steht für "a" bis "z") verwendet. Jeder
dieser 26 Einzelzähler sind in sich selbst reloadfest, der Hauptzähler zählt
entsprechend mit, auch hier gilt die eigene Reloadfestigkeit. Die Subcounter
brauchen nicht angelegt zu werden, erfolgt ein Counteraufruf mit entsprechender
Subcounter-Definition, wird der Counter automatisch angelegt.
Im Logfile wird der Subcounter durch den entsprechenden Kleinbuchstaben am
Ende des Zählwertes dargestellt. Tages-/Monats- und Jahres - Log Dateien
beziehen sich ausschließlich auf den Hauptzähler.
Der letzte Besucher hinterläßt im Counterverzeichnis die Datei "count.env".
Hier kann man sehen, welche "Spuren" der Besucher hinterläßt, was sich also
mit Hilfe der Counterstatistik auswerten lassen könnte. Eigentlich war diese
Datei nur für "interne" Dinge bestimmt, aber sie ist sicher auch für andere
interessant.
Ruft man das Counter-Programm mit "help", "hilfe" oder "info" im Übergabestring
auf, erhält man die Aufrufparameter und andere wichtige Infos in Kurzform.
xx.12.1999 Es ist möglich, einen Counter anzuzeigen während ein anderer gezählt wird.
Mit Parameter az=x (siehe oben) kann man sich einen beliebigen Counter/Subcounter
anzeigen lassen währen der eigentlich aufgerufene Counter gezählt wird.
23.02.2000 Es hat sich gezeigt, daß unter ganz bestimmten und seltenen Bedingungen der
Counter auf Null gesetzt wird. Eiegntlich kein Problem weil der Counter aus den
bestehenden logfiles (teilweise automatisch) rekonstruiert wird, trotzdem aber
unschön. Bisher hat das (bis auf Gerhard) noch keinen von Euch betroffen.
Leider konnte ich nicht 100%ig klären woran das liegt. Eine Erklärung habe
ich, die programmtechnisch nicht Interessierten sollten den folgenden Absatz
überspringen.
Wenn durch einen Seitenaufruf eine Counterzählung angestoßen wird, startet
ein Perl-Skript welches den Counter zählt. Wechselt der "Surfer" auf eine
andere Seite oder wird die Verbindung unterbrochen, wird auch das Counterprogramm
abgebrochen. Jetzt kann es aber sein, dass eine Counterdatei bereits zum
Schreiben geöffnet wurde und die aktuelle Datei damit 0 Byte lang ist. Wird
jetzt das Programm beendet, was eigentlich sehr selten vorkommt, ist der
Counterstand verloren. Aus diesem Grund habe ich in der aktuellen Version eine
weitere Sicherheit eingebaut:
Es werden jetzt neben der eigentlichen Counterdatei 3 zusätzliche Kopien dieser
Datei angelegt. Nach dem Zufallsprinzip werden 2 von den 3 Dateien ausgewählt die
neu geschrieben werden. Bricht bei einer Datei die Verbindung ab, ist der Counter
nur in einer Datei verloren. Die anderen enthalten immer noch den aktuellen Wert.
Beim Lesen des Counters werden alle 4 Dateien ausgewertet und für jeden Eintrag
der Maximalwert aus den 4 Dateien benutzt.
Wenn jetzt noch einmal irgendein Counter ungewollt zurückgesetzt wird, kann ich
mir nur noch den Strick nehmen. Mehr Aufwand für eine Countersicherung kann man
bald nicht mehr treiben.
29.02.2000 Was soll ich sagen, es kam wieder einmal zu einem Counter-Reset. Ich vermute mal,
das es am Provider liegt. Anscheinend sind für einige Sekunden keine fehlerfreien
Counterzugriffe möglich, Wird in dieser Zeit ein Counter aufgerufen kann es zum
Verlust des Zählwertes kommen. Bei der Fehlersuche bin ich auf 2 andere Fehler
gestossen:
- Wenn der Counter auf 0 gesetzt wird startet normalerweise eine automatische
Rekonstruktion aus den logfiles. Diese Funktion wurde inaktiv, als ich
verhindern wollte, das beim Counterinitialisieren das logfile ausgewertet
wird. Was soll ich sagen, die Variable wurde einfach falsch ausgewertet.
Jetzt ist diese Option wieder voll funktionsfähig.
- Das Reload-File, welches sich merkt, ob ein Counteraufruf von der gleichen
Person innerhalb einer kurzen Zeit erfolgte, enthielt die falsche Zeitinformation.
Dadurch kam es zu bestimmten Zeiten (Minutenüberlauf) zum Counterzählen obwohl
es eigentlich nicht sein sollte. Ich muss aber ergänzen, das dies nur sehr selten
der Fall war. Auch diesen Fehler habe ich behoben.
Durch die ganzen Sicherheitsmaßnahmen und automatischen Rekonstruktionen sollte
es nicht wieder zu einem Counter-Reset kommen.
Wichtiger Hinweis: Durch die Rekonstruktion des Counters aus den logfiles darf
der Counter nicht per Hand auf einen höheren Zählwert gesetzt werden und anschließend
wieder auf einen kleineren. Erfolgt dann nämlich eine Rekonstruktion wird automatisch
der höhere Zählwert benutzt. Aber normalerweise setzt man einen Counter nicht per
Hand auf einen kleineren Wert, es sollte also kein Problem darstellen. Sollte doch
jemand mal diese Option benötigen kann man die Rekonstruktion des Counterwertes mit
der Übergabe ru=1 unterbinden, es kann aber in ganz seltenen Fällen zum Counterverlust
kommen. Allerdings kann man den Countertstand aus den logfiles auch wieder per Hand
herstellen.
Man kann aber aus den logfiles die zeilen mit den überhöhten Counterstand löschen.
Ein Zugriff auf alle Files wird in Kürze realisiert.
16.04.2000 Die IP-Adresse (REMOTE_ADDR) in den logfiles sagt oft nicht viel aus. Besser
geeignet ist die HTTP_CLIENT_IP die den Besucher recht gut identifiziert. Aus
diesem Grund wird diese Adresse in die logfiles an Stelle der REMOTE_ADDR
geschrieben. Das natürlich nur, wenn auch eine HTTP_CLIENT_IP angegeben ist.
Sollte das nicht der Fall sein, wird weiterhin die REMOTE_ADDR benutzt.
Das gilt auch für die Reload-Funktion des Counters.
04.12.2000 Es stehen nun mehr Countergrafiken zur Verfügung. Nr. 0 bis 15 sind Counter
in der Standardgröße wie gehabt, bei 100 bis 105 handelt es sich um andere
Größen. In Kürze folgen eine ganze Menge an neuen Countern.
Über hd=x und bd=x kann die Höhe und Breite des Counters eingestellt werden.
Angegeben werden muss die Größe für eine Ziffer. Die Counter (pixelformat)
werden vom Programm skaliert. Ob der Counter dann noch gut aussieht muß
im Einzelfall der Test entscheiden.
Mit der Option tx=2 kann jetzt ein Textcounter erzeugt werden, der eine
JavaScript-typische Variablenzuweisung erzeugt. Mehr darüber weiter oben
im Text.
Programmintern wurde der Couter bisher aus 10 Einzelgrafiken (Ziffern 0 bis 9)
zusammengestellt. Jetzt wird der Counter aus einer einzigen Grafik die alle
Ziffern enthält zusammengebaut. Das ist schneller und man kann aus dem Internet
eine Unmenge an Countergrafiken sofort ohne großen Aufwand benutzen.
09.12.2000 Mit sk=x kann man nun die Countergrafik relativ skalieren, ohne dabei die
eigentliche Größe angeben zu müssen. Mit sk=2 ist die Counterhöhe und die
Counterbreite genau doppelt so groß wie der Originalcounter. Die Option
sk läßt sich aber auch mit den absoluten Größenangaben der Digits kombinieren.
22.07.2001 Nun setht eine erweiterte Textcounterfunktion zur Verfügung. Mit der Übergabe
tx=3 erreicht man, dass der Zählwert direkt mit der JavaScript-Function
document.write ausgegeben wird. Man spart sich gegenüber der Version mit
tx=2 einen JavaSript-Aufruf. Eine Übergabe in eine Variable wie bei tx=2
erfolgt nicht, ist aber auch nicht nötig.
24.07.2001 Aus der IP-Adresse die der Server liefert und die auch ins logfile geschrieben
wird, wird der Domainname ermittelt und zusätzlich ins logfile geschrieben.
Das macht eine Domain-Statistik möglich.
05.08.2001 Mit der Option dm=0 kann man das schreiben des Domainnamens in das logfile
verhindern. Sollte nämlich sich der Name von DNS nicht lesen lassen, entsteht
unter Umständen eine 10s lange Wartezeit bis der Counter erscheint. Empfohlen
wird allerdings diese Option nicht anzuwenden weil dadurch die Statistik
nicht vollständig wird.
23.08.2001 Die Option se=x wurde hinzugefügt. Damit läßt sich der Counter manuell setzen
ohne dass wie bei in=x die logfiles gelöscht werden und Tages/Monats/Jahreszähler
beeinflusst werden.
Einige weitere Korrekturen:
- Monat und Jahr wurde nicht mehr in die Counterdatei geschrieben wenn diese
neu initialisiert wurde. Dieser Fehler wurde bei der Überarbeitung irgendwann
mal eingebaut. Tages/Monats/Jahres Logfiles sollten nun wieder korrekt arbeiten. .
- Monatslogdatei kann nun auch aus der counter.log rekonstruiert werden. Das
erfolgt wie bei der Tageslogdatei automatisch oder manuell.
07.03.2002 Wie sich gezeigt hat, zählte der Counter bei gleicher IP-Adresse kurz hintereinander.
Nach Analyser der Logfiles zeigte sich, dass im Abstand von einigen Sekunden der
Aufruf zwar von der gleichen IP-Adresse kam, aber von unterschiedlichen Proxy-
Adressen. Eigentlich war das auch so gewollt. Offensichtlich können sich aber
die Proxy-Adressen eines Users von einem zum anderen Moment ändern. Mit der
Option pr=0 kann man die Proxyüberprüfung ausschalten und der Counter zählt
dann nur noch wenn sich die IP-Adresse oder der Browsertyp ändert. (im eingestellten
Zeitrahmen. Allerdings können so die Surfer in einem Firmennetzwerk, die meistens
die gleichen Browser benutzten nicht mehr einzeln identifiziert werden. Der
Counter würde also nur einmal zählen. Welche Option nun gewählt wird muss jeder
selbst entscheiden. Voreingestellt ist aber "mit Proxyüberprüfung", also so wie
bisher.
29.01.2003 Mit der Option ol=1 kann man den Counter (keine Subcounter!) dazu benutzen, die
Anzahl der online-Besucher zu ermitteln. Als "online" kann man jemand bezeichnen,
der in der Reloadzeit des Counters (10 min default) den Counter aufgerufen hat.
Es emfpielt sich bei diesem Aufruf die Option st=0 mit anzugeben um den Counter
zu überlassen, wieviel Stellen benötigt werden. Aber 1- oder 2-stellig sollte
wohl der Normalfall sein. Man kann auch st=2 setzen, dann hat man auch bei
< 10 Besuchern eine führende Null, kann aber so wenigstens die Größe korrekt im
IMG-Tag angeben.
weitere Pläne
-------------
- Möglichkeit, sich die logfiles automatisch oder durch gezielten Aufruf sich per
E-Mail zuschicken zu lassen.
- upload eigener Countergrafiken
- upload/download aller logfiles
- Erzeugung von Statistik-HTML-Dateien im vorgegebenen Zeitraum
- Editierbare Counter-Konfigurationsdatei (einfacher Aufruf des Counters ohne lange Übergabe
Parameter, auch E-Mail Adressen für das logfile-Versenden)
- logfiles in *.zip oder *.gzip archivierbar
- weitere CGI-Programme die einfach von allen aufgerufen werden können die eine Counter-ID haben
(Als Beispiel möchte ich das Gästebuch nennen welches jetzt schon zur Verfügung steht)
Noch eine Bitte: Wer Wünsche oder Vorschläge hat, nur her damit. Man kann viel realisieren,
mir fällt aber leider auch nicht alles ein!
Den Quellcode gibt es bei mir eventuell auf Anfrage.
#######################################################################################################
## Counterstatistik ###################################################################################
#######################################################################################################
Aufruf: Pfad wie beim Counter, nur statt cnt.pl cntstat.pl
Optionen (id ist zwingend, alles andere ist otional)
# id=x x = ID wie beim Counter selbst
# thi=x x = Anzahl der Tage in der Tagesstatistik (default = 30)
# tld=x x = Anzahl der angeziegten Top-Level-Domains (default = 10)
# t1=x x = Startdatum der Auswertung in ddmmyyyy (also ohne Sonderzeichen!)
# t2=x x = Enddatum der Auswertung in ddmmyyyy (also ohne Sonderzeichen!)
10.04.2005 Möchte man für die Auswertung einen bestimmten Datumsbereich haben, der natürlich
im Logfile vorhanden sein muss, kann man diesen durch die Optionen t1 und t2
setzen. t1 steht für den Anfang, t2 für das Ende. Das Datum muss zwingend in der
Form ttmmyyyy eingegeben werden, also 8stellig reine Ziffern! Man kann auch einen
oder beide Parameter weglassen. Wird t1 weggelassen, beginnt die Auswertung mit
dem Stand, der als erster zur Verfügung steht. Analog dazu geht die Berechnung
bis zum Schluss, lässt man t2 weg.
Ergänzen möchte ich noch 2 Dinge, die aber schon vor längerer Zeit realisiert wurden:
Mit Option thi kann man die Anzahl der Tage in der Tagesstatistik angeben,
voreingestellt ist 30. Mit tld kann man die Anzahl der angezeigten Top-Level-Domains
angeben, voreingestellt ist 10. Das ist sicher ganz interessant, wenn man mal alle
Top-Level-Domains sehen möchte, die zu einer Zählung führten.