cgicorner.ch

Informationen rund um Perl/CGI

Sie sind hier: Home > jsFAQ

FAQ für jsStat

Installation/Konfiguration

Wie kann ich die Dauer der Reload-Sperre verändern? Wofür sind Session-IDs?
Ich habe Benutzername/Passwort für den Administrationsbereich vergessen. Was kann ich machen?
Fehlermeldung: Can't locate LWP/Simple.pm

Auswertungen

Jedes Mal, wenn ich versuche, in der Administrations-Oberfläche eine graphische Auswertung zu machen, komme ich mit einer Fehlermeldung wieder zum Login-Screen...

Allgemeine Fragen zu jsStyle-Produkten

Nach dem Login kommt eine Fehlermeldung, die mich darauf hinweist, dass ich hier keine Versuche starten soll. Was mache ich falsch?
Der Aufruf des Scripts schlägt mit einem Fehler 500 fehl oder meldet "Script is world writeable"
Das Script zeigt keine Grafiken an, obwohl die Pfade richtig konfiguriert sind.
Worin liegt der Unterschied zwischen UNIX- und Browser-Pfad? Was ist mit Windows?
Meine Frage wird in dieser FAQ nicht beantwortet. Wo finde ich weitere Hilfe?
 

Installation/Konfiguration

Wie kann ich die Dauer der Reload-Sperre verändern? Wofür sind Session-IDs?
Lesen Sie dazu Kapitel 3.22 der Dokumentation, Abschnitt "Anzahl Session-IDs (SID)".
 
Ich habe Benutzername/Passwort für den Administrationsbereich vergessen. Was kann ich machen?
Die benötigten Informationen finden Sie in der Datei config.pl im Hauptverzeichnis der jsStat.

Hierbei handelt es sich um eine Textdatei, welche editiert werden kann. Den Benutzernamen für Benutzer 1 finden Sie in der Zeile "User1USID", die Benutzernamen für Benutzer 2 und 3 unter "User2USID" bzw. "User3USID". Der Benutzername ist unverschlüsselt gespeichert.

Das Passwort steht in der Zeile "User1Pass" resp. "User2Pass"/"User3Pass". Aus Sicherheitsgründen ist das Passwort jedoch verschlüsselt. Sie können alle Zeichen nach dem = löschen, um dass Passwort zurückzusetzen. Melden Sie sich dann mit Ihrem Benutzernamen und ohne Passwort an. Unter Benutzerrechte verwalten können Sie ein neues Passwort definieren.

 
Fehlermeldung: Can't locate LWP/Simple.pm
Erscheint beim Aufruf von jsStat ein 500er Server Error mit der Information, dass das Modul LWP::Simple nicht gefunden wurde, so ist dies auf dem Webserver nicht installiert (beispielsweise bei Strato).

LWP::Simple wird von jsStat benötigt, ist aber glücklicherweise nicht "überlebenswichtig". Bei den IP-Adressen wird zuerst versucht, mittels Reverse DNS-Lookup die Herkunft zu ermitteln. Dies klappt in etwa 75% der Fälle. In den verbleibenden 25% kommt LWP::Simple zum Zuge: dann wird bei der RIPE (Organisation zur Vergabe von IP-Adressen) angefragt, wem die IP-Adresse gehört. Dies lässt wiederum Rückschlüsse auf die Herkunft zu. Ohne LWP::Simple werden also in der Statistik bei der Herkunft mehr Einträge im Abschnitt "[unknown]" sein. Weitere Nachteile hat dies nicht. Damit jsStat auch auf einem Webserver ohne LWP::Simple funktioniert, muss folgendes gemacht werden: In der Subroutine "saveJsStat" müssen folgende zwei Zeilen gelöscht werden

use LWP::Simple;
&parseRIPE("$ENV{REMOTE_ADDR}");
Danach muss noch die ganze Subroutine "parseRIPE" gelöscht werden:
sub parseRipe
{
...
}
Danach sollte jsStat eigentlich funktionieren. Wichtig: bei einem allfälligen Update auf eine neuere Version müssten diese Schritte jeweils wiederholt werden.
 
 

Auswertungen

Jedes Mal, wenn ich versuche, in der Administrations-Oberfläche eine graphische Auswertung zu machen, komme ich mit einer Fehlermeldung wieder zum Login-Screen...
Dies ist ein bekanntes Problem des Internet Explorers 5.0. jsStat prüft bei jeder Seite, ob die ASID (Administration Session-ID) korrekt ist und ob der Referer auf die URL des Scripts zeigt (also ein Link angeklickt wurde). Nur wenn beides der Fall ist wird die Seite angezeigt. Dadurch kann der Missbrauch einer "geklauten" ASID verhindert werden. Bei der Graphischen Auswertung wird per Default eine Zwischenseite mit einer Sanduhr dazwischengeschaltet und die eigentliche Seite mit dem Meta-Tag Refresh aufgerufen. Beim Internet Explorer 5.0 wird dabei der Referer nicht übertragen. Es gibt nun zwei Möglichkeiten:
  • Deaktivieren Sie in den Benutzer-Einstellungen (Administrationsoberfläche: Benutzerrechte verwalten) für den jeweiligen Benutzer die Wait-Page (auf Nein setzen).
  • Updaten Sie auf Internet Explorer 5.5 oder höher. Hier sollte das Problem behoben sein. Ein Update empfiehlt sich aus Sicherheitsgründen sowieso.
 
 

Allgemeine Fragen zu jsStyle-Produkten

Nach dem Login kommt eine Fehlermeldung, die mich darauf hinweist, dass ich hier keine Versuche starten soll. Was mache ich falsch?
Die Fehlermeldung "Was erwarten Sie jetzt? Ich beglückwünsche Sie zu Ihrer Freizeit. Haben Sie nichts besseres zu tun, als hier Versuche zu starten? Wenn Sie diesen Dienst nutzen wollen, so verwenden Sie ihn bitte wie vorgesehen..." kann zwei verschiedene Ursachen haben:
  • Referer wird nicht korrekt übermittelt
    jsStyle-Produkte benutzen zur Benutzerauthentifizierung den Referer des Browsers (es muss immer auch einen Link geklickt werden und darf nie direkt die URL eingegeben werden) sowie eine ASID (Administrator Session-ID). Wenn der Referer nicht korrekt übermittelt wird, erscheint besagte Fehlermeldung. Meistens liegt die Ursache an einer Personal-Firewall, welche den Referer blockiert (Norton Internet-Security sowie der Werbefilter WebWasher sind bekannte Beispiele). Möglicherweise gibt es dafür auch im Browser eine Einstellung. Versuchen Sie, in Ihrer Software für Ihre Homepage den Referer (evtl. auch Herkunfsinformation o.ä. genannt) zu erlauben.

    Genauere Informationen zu diesem Thema finden Sie unter jsStyle Information - unterdrückter Referer.

  • Dateiberechtigungen
    Die zweite Möglichkeit liegt darin, dass die ASID (Administrator Session-ID) nicht korrekt gespeichert oder gelesen werden kann. Kontrollieren Sie, ob die unter DataFile konfigurierte Datei (per Default data.pl) erstellt, geschrieben und gelesen werden kann.
 
Der Aufruf des Scripts schlägt mit einem Fehler 500 fehl oder meldet "Script is world writeable"
Einige Webserver (z.B. Apache) verweigern das Ausführen von Scripts, wenn entweder das Script oder das übergeordnete Verzeichnis die Berechtigungen 777 hat.
 
Das Script zeigt keine Grafiken an, obwohl die Pfade richtig konfiguriert sind.
Der Apache erlaubt in der Standardkonfiguration nur die Anzeige von Scripts im cgi-bin Verzeichnis. Andere Dateien (statische HTML-Seiten, Bilder, Midis etc. könnne nicht dargestellt werden.

Um dieses "Problem" zu umgehen, müssen alle Bilder in ein Verzeichnis ausserhalb des cgi-bin Verzeichnisses abgelegt werden (z.B. /images/jsXXXXX). Nach der Anpassung der Pfade im Adminbereich sollten die Bilder problemlos angezeigt werden.

 
Worin liegt der Unterschied zwischen UNIX- und Browser-Pfad? Was ist mit Windows?
Unter Browserpfad versteht man den relativen oder absoluten Pfad zur URL. Unter UNIX-Pfad relative oder absoluten Pfad innerhalb des Dateisystems.

Beispiel:
URL des Scripts: http://www.server.ch/cgi-bin/myscript.cgi
Pfad im Dateisystem: /var/www/cgi-bin/myscript.cgi
Nun soll ein Bild innerhalb des HTML-Verzeichnisses im Unterverzeichnis images dargestellt werden:
Browser-Pfad: ../images/picture.gif (relativ) bzw. /images/picutre.gif (absolut)
UNIX-Pfad: ../html/images/picture.gif (relativ) bzw. /var/www/html/images/picutre.gif (absolut)

Die genannten UNIX-Pfade dienen nur als Beispiel. Die richtigen Pfade für Ihr Webserver erfahren Sie von Ihrem Webspace-Anbieter. Evtl. können Sie die entsprechende Pfade auch mit dem Script "env" in Erfahrung bringen.

Unter Windows kann ebenfalls der normale Pfad angegeben werden, jedoch mit normalen / statt \ und ohne Laufwerksangabe,z.B.: /inetpub/wwwroot/mysite/myfile.txt

 
Meine Frage wird in dieser FAQ nicht beantwortet. Wo finde ich weitere Hilfe?
Für jsStyle-Produkte gibt es jsDiag, das Diagnosetool für jsStyle-Produkte. jsDiag überprüft die Konfigurationsdatei, Dateiberechtigungen und Zeilenumbrücke und kann so viele Fehler finden und auch beheben.

Wenn das auch nicht mehr weiterhilft, kann immer noch den Autor kontaktiert werden. Wichtig: cgicorner.ch bietet keinen garantierten Installationssupport. Dies heisst aber nicht, dass der Autor nicht bemüht ist, bei Problemen zu helfen. Wenn dies aber einmal aus zeitlichen Gründen nicht möglich ist, sollte das bei einem kostenlosen Angebot respektiert werden. Weitere Informationen, welche Informationen den Support erleichtern sowie ein Fehler-Melde-Formlular finden Sie hier.