CrazyStat

Version 1.71 RC1

FAQ

Hier finden Sie häufig gestellte Fragen zu CrazyStat. Eine eventuell aktuellere Fassung dieses Dokuments finden Sie online unter http://www.christosoft.de/CrazyStat/FAQ.

Tipp: Das Benutzen der Suchfunktion ist hilfreich um hier fündig zu werden (meist über [STRG] + [F] )

Ich habe den Code in meine Seite eingefügt, aber es werden keine Aufrufe gezählt

Bitte überprüfe, ob die Datei, in die der Code eingefügt wurde die Dateiendung ".php" hat. Die Dateiendungen ".htm" oder ".html" funktionieren zwar auf manchen Servern auch, wenn es aber nicht funktioniert, muss man die Datei in ".php" umbenennen (alle Dateien, in die der Code eingefügt wird/die gezählt werden sollen).
Wer das nicht möchte (z.B. weil viele Links geändert werden müssten) kann man auch einen alternativen Code verwenden, der auch für ".htm" oder ".html"-Dateien funktioniert. Davon gibt es wiederum 2 Varianten, einen für HTML-Seiten und einen für XHTML-Seiten welche in der FAQ aufgeführt sind.
Sollte die Dateiendung korrekt sein überprüfe nochmal, ob alle Schritte der Installationsanleitung korrekt ausgeführt wurden (ausführliche Variante lesen).

Nach oben

Wie wandele ich eine (Counter-)Grafik ins PNG-Format um?

Am einfachsten geht das auf folgender Seite: http://graphic2png.christosoft.de/
Alternativ können Sie das kostenlose Programm "IrfanView" (http://irfanview.de/) verwenden. Einfach die Grafik öffnen und Datei/Speichern unter klicken und PNG als Dateityp wählen.

Nach oben

Wie setze ich den CHMOD?

Dies können Sie in Ihrem FTP-Programm. Dazu klicken Sie in der Regel mit der rechten Maustaste auf die Datei, und wählen "Aktionen/FTP-Befehle/CHMOD (Unix)" (WS_FTP Pro), "chmod (Unix)" (WS_FTP95), "Change file attributes/Commands/FTP-Commands/CHMOD (Unix)" (WS_FTP Pro Engl.), "Dateiattribute" (FileZilla) oder ähnlich. 777 entspricht vollen Rechten, also alle Häkchen angeklickt.
Sollten Sie direkt auf dem Server unter Linux arbeiten, können Sie die Rechte mit dem Dateimanager, z.B. Konqueror, ändern. Dazu klicken Sie die Datei rechts an und wählen Eigenschaften und dann "Berechtigungen". Alternativ können Sie in der Shell (z.B. über ssh) den Befehl chmod verwenden (z.B. "chmod -R 777 stat/usr stat/src/log-tool". Siehe "man chmod").

Nach oben

Wie update ich von Version 1.6x oder 1.5x?

Bitte lesen Sie diese Anleitung zunächst in Ruhe durch, bevor Sie sie ausführen.

Schließen Sie vor dem Updaten die Statistik falls sie geöffnet ist (Ausloggen) und rufen Sie sie nicht auf, bevor Sie Schritt 7 erreichen.

  1. Installieren Sie CrazyStat 1.7x in einem anderen Verzeichnis (z.B. "stat_"), setzen $config_rel_path aber auf das alte Verzeichnis (z.B. "stat").
  2. Passen Sie die Datei "stat_/usr/config.php" im neuen Verzeichnis an (evtl. geänderte Einstellungen aus der alten übernehmen). Achtung: Einige Einstellungen haben neue Namen. Außerdem enthält config.php nur noch die wichtigsten Einstellungen, weitere können hinzugefügt werden. Bitte beachten Sie hierzu config_settings_de.html
  3. Kopieren Sie die Logdateien aus dem alten Verzeichnis (z.B. stat/logs) in den logs-Ordner des neuen Verzeichnis (z.B. stat_/usr/logs).
  4. Rufen Sie das CrazyStat-Log-Tool im Browser auf (z.B. /stat_/src/log-tool/index.php) und folgen dem Assistenten. Wichtig ist, dass die Logdateien keine "einfache Kompression" mehr verwenden, sondern gz-Kompression oder gar keine und im Log-Format "1.6" gespeichert sind.
  5. Einbindungscode: Die Datei "stat/eintrag.php", welche zur Statistik-Erfassung eingebunden wird, heißt jetzt "stat/src/include.php". Sie können dies überall, wo CrazyStat eingebunden wird ändern, falls dies wenig Arbeit ist. Wenn Sie die Möglichkeit haben, einen Symlink zu erstellen (z.B. über ssh) ist auch dies möglich:
    ln -s stat/src/include.php stat/eintrag.php
    Als dritte Möglichkeit können Sie einfach eine Datei mit folgendem Inhalt als stat/eintrag.php anlegen:
    <?php
    // CrazyStat backwards-compatibility-file stat/eintrag.php
    include_once(dirname(__FILE__).'/src/include.php');
    ?>
  6. Benennen Sie den alten Ordner um (z.B. in "stat_back"). Benennen Sie den neuen Ordner in den Namen des alten um (z.B. in "stat").
  7. Rufen Sie die Statistik im Browser auf (z.B. "stat/src/show_stat.php"). User und Passwort sind auf die Default-Werte "admin" und Passwort "pass" zurückgesetzt und können beim Anmelden geändert werden. Siehe "Wie kann ich Usernamen ändern, neue User anlegen oder Passwörter zurücksetzen?" wenn Sie zusätzliche Nutzer (wieder) anlegen möchten (das Übernehmen von config_pass.php aus CrazyStat 1.6x funktioniert nicht!).
  8. Löschen Sie den alten Ordner (z.B. "stat_back"), wenn die Statistik problemlos funktioniert.

Nach oben

Wie update ich von Version 1.7x?

Ersetzen Sie den Ordner "stat/src" und den Ordner "stat/doc" durch die der neuen Version. Achten Sie darauf, dass "stat/src/log-tool" weiterhin CHMOD 777 hat. Um die neusten Presets zu erhalten, kopieren Sie alle Dateien aus "stat/usr/presets" von der neuen Version in den bisherigen Ordner. Um die neusten Erkennungsdaten für Browser, Betriebssysteme, Suchmaschinen und Robots zu erhalten, kopieren Sie alle Dateien aus "stat/usr/keywords" von der neun Version in den bisherigen Ordner.
Leeren Sie den Cache nach dem Update.

Nach oben

Wie kann ich Usernamen ändern, neue User anlegen oder Passwörter zurücksetzen?
Oder: "Ich habe das Passwort vergessen"
Oder: "Ich habe $config_salt_str geändert und kann mich nicht mehr einloggen"

Die Zugangsdaten werden in der Datei usr/config_pass.php im Array $config_stat_user abgelegt. Die Datei hat folgenden Aufbau:

<?php $config_salt_str='SomeRand0m_strlng'; $config_stat_user=array (
'admin' => '1a1dc91c907325c69271ddf0c944bc72',
); ?>

Die erste Datei enthält den "salt"-String, der beim ersten Aufruf des Login-Formulars nach der Installation automatisch auf einen zufälligen Wert gesetzt wird. Dieser Wert sollte dann nicht mehr verändert werden. Die erste und die letzte Zeile der Datei sind somit fest. Dazwischen wird für jeden Nutzer eine Zeile angelegt. Zuerst steht der Nutzername in Anführungszeichen, dann => und dann das Passwort in Anführungszeichen. Dieses kann (wie hier) verschlüsselt als MD5 vorliegen (wenn $config_stat_password_md5=true). Danach folgt ein Komma. Um einen neuen User anzulegen, fügt man also eine weitere Zeile ein. Beispiel:

<?php $config_salt_str='SomeRand0m_strlng'; $config_stat_user=array (
'user1' => '1a1dc91c907325c69271ddf0c944bc72',
'user2' => md5('passwort'.$config_salt_str),
); ?>

Wenn $config_stat_password_md5=true ist, müssen alle Passwörter als MD5-Hash vorliegen. Um trotzdem möglichst einfach ein Passwort für einen neuen Nutzer angeben zu können, kann man das Passwort an die md5-Funktion übergeben, damit es verschlüsselt wird (s. Beispiel). Allerdings ist so das Passwort in der Datei im Klartext abgelegt und die Verschlüsselung ist zwecklos. Um die Sicherheit zu erhöhen, kann man nun show_stat.php aufrufen und mit "Passwort ändern" das gleiche (oder ein anderes) Passwort zuweisen. Dies wird dann automatisch verschlüsselt abgespeichert. Ab CrazyStat 1.70 muss noch $config_salt_str an das Passwort angehängt werden, bevor der MD5-Hash gebildet wird (s. Beispiel). Auf diese Weise können Sie auch wieder Zugang zu Ihrer Statistik bekommen, wenn Sie den $config_salt_str manuell verändert haben.

ACHTUNG! Nach einer Änderung von config_pass.php sicherstellen, dass die Datei CHMOD 777 hat.

Nach oben

Wie kann ich die Statistik zurücksetzen?

Löschen Sie einfach die Logdateien. Loggen Sie sich dazu in der Statistik ein, klicken auf das Symbol "Logs" (neben dem Logout-Button rechts oben). Markieren Sie alle Dateien und klicken auf das Löschen-Symbol.
Alternativ können Sie die Dateien auch per FTP/SSH löschen. Sie liegen standardmäßig im Ordner "usr/logs" (der Ordner ist über $config_logfile_folder anpassbar). Löschen Sie in diesem Ordner alle Dateien, bis auf die Datei ".htaccess", diese schützt Ihre Logdateien vor dem Zugriff von Fremden.
Sollten Sie den "Preset-File-Cache" verwenden, klicken Sie in der Statistik auf das Symbol "Cache löschen" (Blitz-Symbol oben rechts) um den Cache zu leeren.

Nach oben

Was ist die Counter-Datei "counter.log"?

Hierin speichert CrazyStat drei Werte (jeweils in einer Zeile): Position in der letzten Logdatei, ab der eventuell noch gesperrte IPs beginnen, Gesamt-Hits mit IP- Sperre, Gesamt-Hits ohne IP-Sperre (ohne $config_counter_add). Diese Informationen nutzt CrazyStat um einen schnellen Counter umzusetzen, benötigt werden sie aber auch, wenn der Counter abgestellt ist. Sie können diese Daten mit Ihren Scripten selbst auslesen; für einen einfachen Textcounter wird der integrierte empfohlen.
Diese Datei wird automatisch erstellt. Sollte der Wert nicht korrekt sein, wird er beim Auswerten der Statistik über show_stat.php berichtigt. Diese Datei zu backuppen ist kaum sinnvoll, da sie aus den Logdateien automatisch erstellt werden kann. Diese Datei wird immer im gleichen Verzeichnis wie die Logdateien angelegt, für das Verzeichnis müssen Schreibrechte vorliegen (CHMOD 777).

Nach oben

Das Laden der Statistik im Internet Explorer braucht extrem lange, erst nach einiger Zeit erscheinen die Ergebnisse.
Oder: In anderen Browsern dauert das Laden des Moduls "Referer" sehr lange.

Wenn das Laden im Internet Explorer sehr lange dauert, liegt das meist daran, dass der Internet Explorer die Tabelle mit den Ergebnissen erst anzeigt, wenn sie komplett geladen ist. Wenn z.B. viele Referer oder Dateien geladen werden müssen, kann dies extrem lange dauern. Besonders wenn das Plugin "mktree" für die Anzeige der Referer verwendet wird, müssen große Daten geladen werden bevor der Internet Explorer die Ergebnisse anzeigen kann. In diesem Fall empfiehlt es sich, das AjaxTree-Plugin zu verwenden. Zum Erzwingen von AjaxTree einfach $config_stat_tree="ajax" setzen. Alternativ $config_stat_referer_tree=false setzen, um die Baumansicht standardmäßig zu deaktivieren.

Nach oben

Was verändert $config_xhtml ?

Wenn diese Einstellung true ist, wird CrazyStat nicht den JavaScript-Befehl "document.write" zur Einbindung verwenden, da dieser bei XHTML nicht mehr erlaubt ist. Stattdessen wird per "document.getElementById" bzw. "document.all" die Statistik eingebunden. Bitte beachten Sie, dass diese Art der Einbindung bei XHTML erlaubt ist, allerdings dazu führen kann, dass ältere Browser nicht erfasst werden. Damit ein Besucher erfasst wird, muss sein Browser bei dieser Einstellung folgendes können:
- document.getElementById("id") oder document.all("id")
- Den JavaScript-internen Eventhandler window.onload=Funktion;

Nach oben

Was ist anders am Logformat 1.6 ?

Das Logformat 1.6 wird von CrazyStat 1.6x und 1.7x verwendet. Es ist kompakter als das Format 1.5 welches in CrazyStat 1.5x zum Einsatz kam, obwohl es nicht weniger Daten speichert. Dies liegt daran, dass z.B. nur noch der Timestamp gespeichert wird und Datum/Uhrzeit bei der Auswertung daraus generiert werden. Dadurch wird die Logdatei um bis zu 20% kleiner. Die Auswertung der neuen Logdateien kann ein wenig länger dauern. Logdateien können mit dem CrazyStat-Log-Tool ins neue Format und zurück konvertiert werden. CrazyStat ab Version 1.70 unterstützt die "Kompression" aus Version 1.6x nicht mehr, dafür aber echte gz-Kompression (s. nächste Frage).

Nach oben

Was ist "Kompression", gz-Kompression und zlib?

"Kompression" ist ein einfaches Verfahren, dass in CrazyStat 1.6x verwendet wurde, um Logdateien des 1.6-Formats um bis zu 50% kleiner zu machen, als sie unkomprimiert wären. Dieses Verfahren hat Daten nicht gespeichert, wenn sie identisch mit denen der Logzeile oben drüber waren. CrazyStat ab Version 1.70 unterstützt nun (nur noch) echte Kompression im gz-Format ("gz-Kompression" oder "zlib-Kompression"), was erheblich höhere Kompressionsraten ermöglicht. gz-Kompression wird über $config_log_zlib aktiviert (default). Dabei wird immer, wenn eine neue Logdatei angelegt wird die vorherige komprimiert (die letzte Logdatei bleibt aus Performance-Gründen unkomprimiert). Sie sollten daher gz-Kompression immer in Verbindung mit Splitting einsetzen (siehe $config_logfile_maxsize).
Sie können mit Hilfe des Log-Tools Logdatein komprimieren oder dekomprimieren.

Nach oben

Wie verwende ich das CrazyStat-Log-Tool und was tut es?

Das Log-Tool ermöglicht es, CrazyStat Logdateien der unterschiedlichen Formate umzuwandeln, zu komprimieren oder dekomprimieren, zu splitten und zusammenzufügen und IPs nachträglich zu anonymisieren. Das Log-Tool wertet die Logdateien nicht aus (dafür ist CrazyStat zuständig).

Es befindet sich im Ordner "src/log-tool". Wenn Sie CrazyStat 1.7x bereits auf einen Webserver hochgeladen haben, setzen Sie dem CHMOD des Ordners "log-tool" auf 777, falls nicht schon geschehen (s. FAQ). Rufen Sie es dann auf (http://ihrserver.de/stat/src/log-tool/) und geben Sie die Zugangsdaten ein. Wenn Sie das Logtool allein ausführen möchten, verwenden Sie bitte die Standalone- Version, die es unter http://www.christosoft.de/Download als Download gibt.

Nach oben

Was bedeutet "Seitenaufrufe dieses Computer nicht zählen"? Oder:
Was bedeutet "Cookie" im Counter und wie schalte ich es ab?

Wenn Sie sich einloggen und dieses Häkchen aktiviert haben, wird auf Ihrem PC ein Cookie gesetzt. Dies ist eine kleine Datei, die automatisch gelöscht wird falls Sie sich 30 Tage nicht mit dieser Option einloggen. Wenn Sie Ihre Seite aufrufen wird überprüft, ob diese Datei existiert. Tut sie das, wird Ihr Aufruf nicht in die Log-Datei geschrieben. Außerdem wird der Text "Cookie" (bzw. der in $config_counter_cookie_text eingestellte) im Counter eingeblendet. Die Eigenschaften des "Cookie"-Textes entsprechen denen des Reload-Textes, diese können in "config.php" angepasst werden. Um den Text auszublenden, einfach $config_counter_cookie_text auf false setzen.

Nach oben

Wie binde ich CrazyStat in Dateien ein, die nicht alle im selben Ordner liegen?

--- 1. Möglichkeit: ---
Sie setzen dazu in "config.php" folgende Einstellung:
$config_different_rel_paths=true;
Nehmen wir an, die Statistik liegt im Ordner "stat". Sie möchten sie jetzt in der Datei "Bild1.php" im Ordner "Bilder" und die Datei "index.php" im Stammverzeichnis einbinden. Dann sehen die Codes zum Einbinden der Statistik wie folgt aus:
Bild1.php: <?php $set_rel_path="../stat/"; @include_once("../stat/src/include.php"); ?>
index.php: <?php $set_rel_path="stat/"; @include_once("stat/src/include.php"); ?>
In $set_rel_path wird also der relative Pfad von der Datei zur Statistik angegeben. Hier ist ein abschließender Slash erforderlich. Die Funktion include_once bekommt den relativen Pfad zur Datei "include.php" im Statistik-Ordner übergeben. Bei Verwendung dieses Features möglichst in allen Dateien $set_rel_path festlegen.

--- 2. Möglichkeit: ---
Sie setzen $config_rel_path auf den Pfad von der Domain aus gesehen, beginnend mit einem Slash. Beispiel: "http://www.meineseite.de/stat/" --> $config_rel_path="/stat/".
Diese Möglichkeit wird nicht empfohlen und funktioniert nicht immer. (Nicht wenn $config_xhtml=true und $config_counter_enabled=true)

--- 3. Möglichkeit: ---
Sie setzen $config_rel_path auf den absoluten Pfad (URI) zur Statistik, also z.B. "http://www.meineseite.de/stat/". Diese Möglichkeit wird nicht empfohlen und funktioniert nicht immer.
(Nicht wenn $config_xhtml=true und $config_counter_enabled=true)

Nach oben

Wie kann ich den Counter nur auf bestimmten Seiten anzeigen lassen?

Indem Sie folgenden Code auf der Seite verwenden, auf der der Counter angezeigt werden soll:
<?php $set_counter_enabled=true; @include_once("stat/src/include.php"); ?>
Und folgenden Code auf der Seite, auf der er nicht angezeigt werden soll:
<?php $set_counter_enabled=false; @include_once("stat/src/include.php"); ?>

Nach oben

Wie kann ich auf unterschiedlichen Seiten unterschiediche Counterlayouts nutzen?

Sie können die Countergrafik für jede Seite einzeln festlegen, indem Sie folgenden Code zum Einbinden verwenden:
<?php $set_counter_file_name='ch_arial_blue.png';
@include_once("stat/src/include.php"); ?>
Die Countergrafiken müssen alle im selben Ordner liegen, der Dateiname muss oben im Beispiel natürlich angepasst werden.

Nach oben

Wie kann ich CrazyStat auf XHTML-Seiten im XHTML-Modus und auf HTML-Seiten im HTML-Modus einbinden?

In welchem Modus CrazyStat eingebunden wird kann über $config_xhtml gestuert werden. Wenn diese Einstellung auf nicht auf alle Seiten zutrifft, kann per $set_xhtml der Modus vor dem Einbinden gesetzt werden.
Beispiel: <?php $set_xhtml=true; @include_once("stat/src/include.php"); ?>
Auch $config_xhtml_noscript kann über $set_xhtml_noscript angepasst werden.

Nach oben

Der Counter war vor dem Aufrufen der Statistik noch höher als danach!?

Der Counter wurde extrem beschleunigt, hat allerdings noch ein paar kleine Bugs; so zählt er manchmal obwohl er nicht sollte (sehr sehr selten). Beim Aufruf der Statistik wird der Counter berichtigt, da die Statistik das komplette Logfile auswertet ist sie im Gegensatz zum schnellen Counter fehlerfrei.

Nach oben

Der Counter war vor dem Updaten noch höher als danach!?

Nach 1.60 RC3 werden Robots nicht mehr mitgezählt, s. "Wie blocke ich Robot XY?". In neuen Versionen wird die Liste der Robots erweitert, dadurch sinkt die "Besucherzahl" nach dem Update ein wenig. Sie können $config_counter_add verwenden um dies auszugleichen.

Nach oben

Warum sehe ich die aktuellen Besucher nicht?

Bei aktiviertem Cachen werden die Ergebnisse zwischengespeichert. Somit wird die Auswertungszeit verringert. Allerdings sind die Daten somit nicht mehr vollkommen aktuell. Um die aktuellen Daten zu sehen, klicken Sie auf "Alle aktualisieren" oder schalten das Cachen ganz ab, indem Sie $config_stat_cache auf false setzen.
Nach dem Login sind die Daten stets aktuell. Das Verwenden von "Cache löschen" ist nicht nötig, um die aktuellen Besucher zu sehen, "Alle Aktualisieren" genügt.

Nach oben

Was bedeutet "Alle aktualisieren"?

Damit werden die temporär gespeicherten Ergebnisse gelöscht, die CrazyStat beschleunigen. Diese Daten werden bei jedem Aufruf der Statistik angelegt und dann bis zum Ausloggen verwendet. Wenn kein Passwortschutz verwendet wird, werden diese Daten auch nach kurzer Zeit wieder gelöscht (Session-Daten).

Nach oben

Was bedeutet "Cache löschen" (Blitz-Symbol)?

Damit wird der "Preset-File-Cache" gelöscht. Dieser Cache beschleunigt das Auswerten der Statistik mit den Einstellungen der meisten Presets erheblich. Wenn Sie diesen Cache löschen muss die Statistik komplett neu ausgewertet werden, was eine Weile dauern kann. Eventuelle Fehler können durch das Löschen des Caches möglicherweise behoben werden. Außerdem müssen Sie nach Einstellungsänderungen den Cache löschen (siehe nächste Frage). Über "Presets verwalten" kann man für jedes Preset einzeln einstellen, ob es gecacht werden soll oder nicht.

Nach oben

Ich habe in config.php Einstellungen geändert (z.B. die IP-sperre) oder browser.txt oder robots.txt verändert, aber die Ergebnisse ändern sich nicht!?

Klicken Sie auf "Cache löschen" (Blitz-Symbol). Die alten Ergebnisse sind noch im Cache, die Statistik muss erst mit den neuen Einstellungen ausgewertet werden (bei allen Einstellungsänderungen, die die Auswertung beeinflussen).

Nach oben

Muss der Counter diesen blöden Link haben?

Nein, setzen Sie $config_counter_link einfach auf false und er verschwindet.

Nach oben

Was sind extensions?

Die Dateien im Ordner "extensions" sind JavaScript-Erweiterungen die den Bedienkomfort von CrazyStat erhöhen. Sie sind allerdings nicht notwendig, d.h. Sie können sie einfach löschen. "calendarpopup.js" ist für den Kalender zum Festlegen eines Zeitpunktes verantwortlich, "md5.js" ist für das verschlüsselte Übertragen von Passworten zuständig. Die Dateien "lytebox.css" und "lytebox.js" sind für die "Lytebox" (Modales Fenster für Kalender etc.), "sortabletable.js" für das Sortieren der Tabellen per Klick. Die anderen Dateien werden für die Baumansicht der Referer benötigt. Es gibt keine Plugin-Schnittstelle oder ähnliches mit der Sie einfach Erweiterungen schreiben könnten.

Nach oben

Warum dauert die Auswertung der Statistik manchmal lange und manchmal kurz?

Das liegt daran, dass CrazyStat auf Geschwindigkeit optimiert ist. So werden bei eingeschalteten IP-Sperren die meisten Zeilen gar nicht ausgewertet, bei eingeschaltetem Cachen werden nur die Module neu ausgewertet, deren Einstellungen verändert wurden. Somit braucht CrazyStat umso kürzer, je weniger Einstellungen verändert wurden (sofern die Statistik
bereits ausgewertet wurde) und je mehr IP-Sperren angeschaltet sind. Des Weiteren wertet CrazyStat dank "Preset-File-Cache" die Statistik sehr viel schneller aus, wenn ein Preset aktiv ist und dafür Caching aktiviert wurde.

Nach oben

Warum taucht unter "Dateien" ein Dateiname zweimal auf?

Weil die eine Datei in einem anderen Ordner liegt, als die andere. Um rauszufinden in welchem, fahren Sie mit der Maus über den Dateinamen und warten einen Augenblick. Der volle Pfad der Datei erscheint.
Sie können auch $config_stat_files_hide_dir=false setzen, sodass immer der volle Pfad angezeigt wird.

Nach oben

Wie viel Prozent sind es denn jetzt genau?

Fahren Sie mit der Maus über das Balkendiagramm und Sie bekommen angezeigt, wie viel Prozent es genau sind.

Nach oben

Warum kennt CrazyStat Browser xyz nicht? Oder:
Wie passe ich die Browsererkennung an?

CrazyStat lassen sich leicht weitere Browser hinzufügen, entfernen oder ändern.
Dazu gibt es die Datei usr/keywords/browser.txt, die die Browsererkennung regelt. In jeder Zeile steht der "Erkennungsstring", den der Browser im "User Agent" ausgibt (z.B. "MSIE 6"). Soll der Browser in CrazyStat nicht unter seinem Erkennungsstring, sondern unter einem anderen Namen aufgelistet werden, kann man diesen Namen mit einem Gleichzeichen anfügen ("Erkennungsstring=Browsername"). Die Datei "browser.txt" sollte CHMOD 777 (oder 644) haben.

Nach oben

Wie blocke ich Robot XY? Oder:
Wie sehe ich, welche Robots auf meine Seite zugreifen?

CrazyStat lassen sich leicht weitere Robots hinzufügen, entfernen oder ändern. Dazu gibt es die Datei usr/keywords/robots.txt, die das Blockieren der Robots regelt. In jeder Zeile steht der "Erkennungsstring", der den Robot eindeutig im "User Agent" identifiziert. Sämtliche Zugriffe, bei denen der Erkennungsstring eines Robots im User-Agent vorkommt, werden nicht gezählt. Dies betrifft auch die Browsererkennung, hier tauchen Robots aus robots.txt nicht mehr auf. Um Robots mitzuzählen, leeren Sie einfach die Datei robots.txt.
Die Robots aus robots.txt werden auch nicht vom Counter gezählt. Wenn Sie die Datei robots.txt ändern, wird der Counterstand nach dem Auswerten der Statistik über show_stat.php entsprechend den neuen Einstellungen angepasst. Die Datei "robots.txt" sollte CHMOD 777 (oder mind. 644) haben.

Nach oben

Wie passe ich die Auswertung "Hits/Suchbegriff" an?

In der Datei usr/keywords/queryregex.txt können reguläre Ausdrücke festgelegt werden, die die Auswertung der Suchbegriffe beeinflussen. Für jede Regex wird eine Zeile angelegt. Die Zeile beginnt mit der Regex (PCRE, von Trennzeichen (in der Regel /) eingeschlossen). Nach einem Tabstopp folgt eine Zahl, welche die Klammer angibt, welche den Suchbegriff umschließt. CrazyStat prüft zunächst, ob der reguläre Ausdruck "passt", wenn ja wird der Inhalt der angegebenen Klammer als Suchbegriff angenommen und gezählt.
Beispiel:

/q=([^&]*)&.*/ 1

Dieser Ausdruck wertet den Inhalt des Parameters q als Suchbegriff (für alle Seiten). Die Datei "queryregex.txt" sollte CHMOD 777 (oder 644) haben.

Nach oben

Wie binde ich CrazyStat in HTML-Dateien ein?

CrazyStat lässt sich auch in HTML-Dateien mit der Endung ".html" oder ".htm" einbinden. Das hat den Vorteil, dass nicht die komplette Linkstruktur der Seite geändert werden muss, falls alle Dateien nicht die Endung ".php" haben. Dies kann bei großen Seiten entscheidend sein. Trotzdem wird diese Methode nicht empfohlen, da sich dieser Code von CrazyStat-Version zu CrazyStat-Version ändern wird, und somit bei einem Update in jeder Datei der Code geändert werden muss. Sollten Sie diese Methode trotzdem anwenden wollen, verwenden Sie folgenden Code und ersetzen PFAD durch den Pfad zur "stat.php" (in der Regel "stat"). Außerdem muss DATEI durch den Dateinamen ersetzt werden.

<!-- BEGINN CrazyStat 1.71, Copyright (C) 2004-2012 Christopher Kramer http://www.christosoft.de /-->
<script type="text/javascript" language="javascript">
var jetzt=new Date();
document.write ('<img src=\"PFAD/src/stat.php?breite='+screen.width+'&amp;hoehe='+screen.height+'&amp;colors='+screen.colorDepth+'&amp;datei=DATEI&amp;referer='+encodeURIComponent(document.referrer)+'&amp;t='+jetzt.getTime()+'\" alt=\" - - - By CrazyStat - - - \" title=\" - - - By CrazyStat - - - \" border="0" />');
</script>
<noscript><img src="PFAD/src/stat.php?datei=DATEI&amp;referer=keinJS" alt=" - - - By CrazyStat - - - " title="- - - By CrazyStat - - - " border="0" /></noscript>
<!-- ENDE CrazyStat /-->

Nach oben

Wie binde ich CrazyStat in XHTML-Dateien ein?

CrazyStat lässt sich auch in XHTML-Dateien mit der Endung ".html", ".htm" oder ".xhtml" einbinden. Das hat den Vorteil, dass nicht die komplette Linkstruktur der Seite geändert werden muss, falls alle Dateien nicht die Endung ".php" haben. Dies kann bei großen Seiten entscheidend sein. Trotzdem wird diese Methode nicht empfohlen, da sich dieser Code von CrazyStat-Version zu CrazyStat-Version ändern wird, und somit bei einem Update in jeder Datei der Code geändert werden muss. Sollten Sie diese Methode trotzdem anwenden wollen, verwenden Sie folgenden Code und ersetzen PFAD durch den Pfad zur "stat.php" (in der Regel "stat"). Außerdem muss DATEI durch den Dateinamen ersetzt werden.

Wenn Sie CrazyStat in XHTML-Dokumente einbinden möchten, können Sie folgenden (validen) Code verwenden (s. "Was verändert $config_xhtml?").

<!-- BEGINN CrazyStat 1.71, Copyright (C) 2004-2012 Christopher Kramer http://www.christosoft.de /-->
<script type="text/javascript" language="javascript">
/* <![CDATA[ */
function CrazyStat()
{
if (typeof(crazystat_oldOnLoad)=='function') crazystat_oldOnLoad();
var jetzt=new Date();
var CrazyStatUrl='PFAD/src/stat.php?breite='+screen.width+'&hoehe='+screen.height+'&colors='+screen.colorDepth+'&datei=DATEI&referer='+encodeURIComponent(document.referrer)+'&t='+jetzt.getTime();
if(document.getElementById) obj=document.getElementById('CrazyStatImage'); else if(document.all) obj=document.all('CrazyStatImage');
obj.src=CrazyStatUrl;
}
var crazystat_oldOnLoad=window.onload;
window.onload=CrazyStat;
/* ]]> */
</script>
<img id="CrazyStatImage" src="PFAD/src/img/blind.gif" alt=" - - - By CrazyStat - - - " title=" - - - By CrazyStat - - - " style="border:0px" />
<noscript><img src="PFAD/src/stat.php?datei=DATEI&amp;referer=keinJS" alt=" - - - By CrazyStat - - - " title=" - - - By CrazyStat - - - " style="border:0px" /></noscript>
<!-- ENDE CrazyStat /-->

Nach oben

Was ist bei XHTML-Dateien zu beachten?

Wenn Sie XHTML-Dateien verwenden, die mit korrektem Mime-Type (z.B. application/xhtml+xml) ausgeliefert werden, können folgende Probleme auftreten: Zum einen zeigt der Internet Explorer diese dann gar nicht an (unabhängig von CrazyStat), zum anderen werden Aufrufe von Gecko-Browsern (eventuell auch andere) von CrazyStat doppelt gezählt, da diese Browser auch die Grafik im <noscript>-Bereich laden. Um dies zu vermeiden, setzen Sie $config_xhtml_noscript=false . Es werden dann allerdings nur noch Browser mit JavaScript erfasst. Bei Mime-Type text/html gibt es keine Probleme.

Nach oben

Kann ich mehrere CrazyStat-Installationen / unterschiedliche CrazyStat-Versionen in eine Seite einbinden?

Dies ist technisch möglich, aber nicht empfohlen. Achten Sie unbedingt darauf, dass Sie sich stets ausloggen, bevor sie sich in eine andere Installation einloggen! Unterschiedliche Installationen bzw. Versionen werden sicher unterschiedliche Ergebnisse liefern, dies liegt an den Einstellungen. So werden bei unterschiedlichen Versionen eine unterschiedliche Anzahl Robots ignoriert. Außerdem lassen sich die Ergebnisse durch config-Einstellungen stark beeinflussen, vor allem über die IP-Sperre.

Nach oben

Ich möchte Session-IDs/den Parameter XY aus den Datei-Einträgen entfernen. Wie geht das?

Über $config_stat_files_preg_replace kann man reguläre Ausdrücke auf die Einträge des Moduls Dateien anwenden. Damit lassen sich auch Parameter aus den Einträgen entfernen. Folgende Einstellung entfernt sämtliche Parameter:
$config_stat_files_preg_replace=array('/\?.*/'=>'');
Ein bestimmter Parameter lässt sich wie folgt entfernen:
$config_stat_files_preg_replace=array('/[&?]PHPSESSID=[^&]*/'=>'');
Damit werden alle PHPSESSID-Parameter entfernt (samt Wert).
Infos zu regulären Ausdrücken finden Sie z.B. hier:
http://www.drweb.de/php/regulaere-ausdruecke.shtml
Wenn Sie sich genauer damit befassen wollen empfehle ich Ihnen das folgende Buch:
Reguläre Ausdrücke von Jeffrey Friedl ISBN: 3-89721-349-4

Nach oben

Was ist $config_ip_anonymous? / Was sind anonymisierte IPs?

CrazyStat kann die IP-Adressen Ihrer Besucher anonymisieren, bevor sie in die Logdatei geschrieben werden. Dies erlaubt es Ihnen, den Datenschutz Ihrer Besucher zu respektieren. In einigen Ländern werden IP-Adressen als pesonenbezogene Daten aufgefasst und unterliegen daher besonderen datenschutzrechtlichen Bestimmungen. Wenn Sie in einem solchen Land leben oder den Datenschutz Ihrer Nutzer in besonderer Weise respektieren möchten, dann aktivieren Sie diese Funktion. Sie werden keinen Unterschied in CrazyStat bemerken, daher empfehle ich Ihnen in jedem Fall diese Option zu aktivieren.
CrazyStat hat vor Version 1.71 einen "salted Hash" der IP anstatt der richtigen IP gespeichert, wenn diese Option aktiviert war. Salted Hashs lassen sich nicht ohne weiteres zurück umwandeln, daher ist dies ein einfacher und effizienter Ansatz. Allerdings sehen salted Hashs IP-Adressen nicht mehr ähnlich und es lässt sich keinerlei Information über die Herkunft (z.B. das Land) des Besuchers mehr ermitteln. Aus diesen Gründen führt Version 1.71 ein neues Verfahren ein: Es generiert anonymisierte IP-Adressen, die aussehen wie normale IP-Adressen aber trotzdem nicht rückverfolgbar sind. Das Land lässt sich meist mit einer gewissen Genauigkeit noch ableiten, dies kann oft aber auch falsche Ergebnisse zur Folge haben (zukünftige CrazyStat-Versionen werden das Land vor der Anonymisierung erkennen).
Im Detail funktioniert das Verfahren so: Die ersten beiden Oktette werden belassen (Beispiel: 111.122.133.144 -> 111.122.x.x) damit das Land sich noch mit einer gewissen Genauigkeit ableiten lässt. Das dritte und letzte Oktett wird entfernt. Dafür werden zwei virtuelle Oktette berechnet, die auf Nutzer-Charakteristiken beruhen. Das dritte Oktett wird basierend auf dem Salted Hash der kompletten IP und der Farbtiefe des Benutzers berechnet. Das vierte Oktett berechnet sich aus dem Salted Hash der kopmpletten IP, dem User Agent (Browser und Betriebssystem) sowie der Bildschirmauflösung. Diese Daten werden einbezogen, damit jedem Benutzer eine annähernd eindeutige anonymisierte IP zugewiesen wird, obwohl die letzten zwei Oktette entfernt wurden.
Kann die richtige IP aus einer anonymisierten berechnet werden? Dazu wäre es nötig, per Brute-Force alle 65.536 möglichen IP-Adressen mit den Daten des Logeintrags genau wie CrazyStat zu anonymisieren. Dabei muss der Salt-String bekannt sein, d.h. ein Angreifer muss usr/config_pass.php lesen können - es reicht nicht aus, dass ein Angreifer Zugriff auf die Web-Oberfläche von CrazyStat hat (z.B. weil kein Passwortschutz eingerichtet ist oder ein unsicheres Passwort verwendet wird). Wenn Sie kein schwerwiegendes Sicherheitsproblem haben, sind Sie also der einzige, der sinnvoll versuchen kann, eine IP mit Brute Force zurück zu berechnen. Dies ist nicht sonderlich kompliziert und lässt sich auf einem modernen PC in wenigen Sekunden ausführen. Allerdings wird Sie das Ergebnis wenig weiterbringen: Es werden ca. 200-300 IPs herauskommen, welche bei gleichen Nutzer-Charakteristiken alle die selbe anonymisierte IP haben. Welche dieser IPs die korrekte IP des Besuchers war, können Sie ohne zusätzliches Wissen nicht entscheiden. Bitte lassen Sie mich wissen, wenn Sie glauben einen Weg gefunden zu haben, dies zu umgehen.
Beachten Sie auch, dass es etwas seltsam anmutet, zunächst die IPs der eigenen Besucher anonymisiert zu speichern um später mit erheblichem Aufwand die IP wieder rückzuberechnen. Würden Sie den Datenschutz Ihrer Nutzer nicht respektieren, könnten Sie vor vorneherein echte IP-Adressen abspeichern.
Anonymisierte IP-Adressen werden mit einem abschließenden Stern markiert um sie von echten IP-Adressen unterscheidbar zu machen.
Hinweis: Wenn diese Funktion aktiv ist, ist es wie oben diskutiert nicht möglich, im Nachhinein die richtigen IPs zu ermitteln.
Beachten Sie auch die Konfigurations-Dokumentation.

Nach oben

Wie binde ich CrazyStat in Wordpress ein?

Dies wird im Christosoft Blog erklärt.

Nach oben

Nichts gefunden?

Auf http://www.christosoft.de/CrazyStat/FAQ bzw. documentation.crazystat.de gibt es immer die aktuelle FAQ. Weitere Informationen finden sich auch in der README-Datei. Sollte auch dort nichts zu finden sein, frage einfach im Forum nach.
Das Benutzen der Suchfunktion (Strg + F) hilft beim Umgang mit diesem Dokument übrigens auch enorm weiter ;)

Nach oben