Version 1.71 RC1
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] )
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).
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.
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").
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.
<?php
// CrazyStat backwards-compatibility-file stat/eintrag.php
include_once(dirname(__FILE__).'/src/include.php');
?>
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.
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.
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.
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).
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.
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;
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).
"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.
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.
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.
--- 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)
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"); ?>
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.
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.
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 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.
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.
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).
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.
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).
Nein, setzen Sie $config_counter_link einfach auf false und er verschwindet.
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.
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.
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.
Fahren Sie mit der Maus über das Balkendiagramm und Sie bekommen angezeigt, wie viel Prozent es genau sind.
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.
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.
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.
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+'&hoehe='+screen.height+'&colors='+screen.colorDepth+'&datei=DATEI&referer='+encodeURIComponent(document.referrer)+'&t='+jetzt.getTime()+'\"
alt=\" - - - By CrazyStat - - - \" title=\" - - - By CrazyStat - - - \" border="0"
/>');
</script>
<noscript><img src="PFAD/src/stat.php?datei=DATEI&referer=keinJS" alt=" - - - By
CrazyStat - - - " title="- - - By CrazyStat - - - " border="0" /></noscript>
<!-- ENDE CrazyStat /-->
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&referer=keinJS" alt=" - - - By
CrazyStat - - - " title=" - - - By CrazyStat - - - " style="border:0px"
/></noscript>
<!-- ENDE CrazyStat /-->
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.
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.
Ü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
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.
Dies wird im Christosoft Blog erklärt.
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 ;)