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: counter 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.