So, nun weiß auch ich nicht mehr weiter.
Also mal eine Frage an all jene, die sich gut mit CMSms, PHP und Webserverkonfiguration auskennen:
Was könnte die Ursache dafür sein, dass ich ständig vom Frontend auf die Login-Seite vom Backend umgeleitet werde?
Oder anders:
Sobald ich im Backend eingeloggt bin, kann ich plötzlich auch auf das Frontend zugreifen.
Logge ich mich aus, geht auch das Frontend nicht mehr.
Ergo haben nur Backend-User Zugriff auf das Frontend.
Woran zum Teufel kann das liegen?
(CMSms 1.6.4, PHP 5.2, Standardmodule, bis auf die max_upload_size von 8 MB nix zu meckern, keine .htaccess-Datei)
(GELÖST) Frontend geht nur noch wenn man im Backend eingeloggt ist
(GELÖST) Frontend geht nur noch wenn man im Backend eingeloggt ist
Last edited by NaN on Mon Aug 24, 2009 9:22 pm, edited 1 time in total.
Re: Frontend geht nur noch wenn man im Backend eingeloggt ist
Oha ... ich rate mal ins Blaue:
Da Du ja nicht gerade ein Newbie bist, ist mir der erste Hinweis ein wenig peinlich. Aber manchmal passieren ja auch dem routinierten CMS-Anwender kleine , menschliche Flüchtigkeitsfehler.
.. ich erwähne es deswegen nur mal pro forma.
Wenn bei Eingabe der Frontend-Adresse auf das Login geleitet wird, klingt das ja zunächst erstmal nach einem Fehler in den Verzeichnis- oder Pfadangaben oder in der Domain-Administration.
Hast Du evtl bei der Domainadminstration / Weiterleitung vielleicht einen kleinen Fehler in der Verzeichnisauswahl gemacht und statt in den Root in den Admin geleitet? Stimmen die Pfade in der config.php?
------------------------------------
Weiterhin kann ich mir auch Probleme mit der Session ID vorstellen.
------------------------------------
...oder hängt es vielleicht mit einer der neuen Wartungs-Optionen von 1.6 .zusammen? Zum Beispiel:
2) Ausnahmen von der Wartungsmeldung
Ab der Version 1.6 können bestimmte IP-Adressen oder auch IP-Bereiche vorgegeben werden, denen die Wartungsmeldung NICHT angezeigt wird, obwohl der Wartungsmodus aktiviert wurde. Damit befindet sich die Webseite dann für die meisten Besucher im Wartungsmodus, kann aber von den vorgegebenen Hosts aus weiter gesehen werden.
Ist da vielleicht ein Bug drin ? (hab die neusten Releases selbst noch nicht installiert)
Da Du ja nicht gerade ein Newbie bist, ist mir der erste Hinweis ein wenig peinlich. Aber manchmal passieren ja auch dem routinierten CMS-Anwender kleine , menschliche Flüchtigkeitsfehler.

Wenn bei Eingabe der Frontend-Adresse auf das Login geleitet wird, klingt das ja zunächst erstmal nach einem Fehler in den Verzeichnis- oder Pfadangaben oder in der Domain-Administration.
Hast Du evtl bei der Domainadminstration / Weiterleitung vielleicht einen kleinen Fehler in der Verzeichnisauswahl gemacht und statt in den Root in den Admin geleitet? Stimmen die Pfade in der config.php?
------------------------------------
Weiterhin kann ich mir auch Probleme mit der Session ID vorstellen.
------------------------------------
...oder hängt es vielleicht mit einer der neuen Wartungs-Optionen von 1.6 .zusammen? Zum Beispiel:
2) Ausnahmen von der Wartungsmeldung
Ab der Version 1.6 können bestimmte IP-Adressen oder auch IP-Bereiche vorgegeben werden, denen die Wartungsmeldung NICHT angezeigt wird, obwohl der Wartungsmodus aktiviert wurde. Damit befindet sich die Webseite dann für die meisten Besucher im Wartungsmodus, kann aber von den vorgegebenen Hosts aus weiter gesehen werden.
Ist da vielleicht ein Bug drin ? (hab die neusten Releases selbst noch nicht installiert)
Last edited by antibart on Mon Aug 24, 2009 12:16 pm, edited 1 time in total.
Re: Frontend geht nur noch wenn man im Backend eingeloggt ist
Bei welchem Provider treten die Probs auf?
Re: Frontend geht nur noch wenn man im Backend eingeloggt ist
Also an den Pfaden/URLs kann es schonmal nicht liegen.
Die stimmen alle.
Wie die Domain genau eingerichtet ist kann ich nicht sagen, weil ich das nicht gemacht habe.
Die Seite lief aber vorher schonmal mit CMSms 1.5.4 ohne Probleme.
Wartungsmeldung hab ich auch nicht aktiviert.
Ist eine ganz jungfräuliche Installation.
An sowas wie Session ID hab ich auch schon gedacht.
Zumal es anfangs ja funktioniert hatte.
Nur nach dem ersten Login im Backend nicht mehr.
Daher mein Gedanke, dass die Session irgendwie nicht gelöscht wird.
Allerdings verstehe ich dann immer noch nicht wieso das Auswirkungen auf das Frontend haben sollte.
Provider ist w3peer.com.
Ist ein eigener Server von einem Bekannten eines Bekannten eines Bekannten. ::)
Da laufen die verschiedensten Anwendungen drauf.
Ich hab da leider nur FTP Zugang.
----------------------------------------------
Php Information:
* phpversion: 5.2.0-8+etch11
* md5_function: An (Ja)
* gd_version: 2
* tempnam_function: An (Ja)
* magic_quotes_runtime: Aus (Nein)
* memory_limit: 64M
* max_execution_time: 120
* safe_mode: Aus (Nein)
* session_save_path: /var/lib/php5 (1733)
Server Information:
* Server Api: cgi-fcgi
* Server Db Type: MySQL (mysql)
* Server Db Version: 5.0.32
Server-Software (server_software):
Apache/2.2.3 (Debian) DAV/2 SVN/1.4.2 mod_fastcgi/2.4.2 mod_jk/1.2.18 mod_mono/1.2.1 mod_python/3.2.10 Python/2.4.4 PHP/5.2.0-8+etch15 mod_ruby/1.2.6 Ruby/1.8.5(2006-08-25) mod_ssl/2.2.3 OpenSSL/0.9.8c mod_perl/2.0.2 Perl/v5.8.8
Server-Betriebssystem (server_os):
Linux 2.6.18-6-686-bigmem An i686
----------------------------------------------
Ich bin inzwischen mal ein Stück weiter gekommen.
Es scheint keine serverseitige Umleitung zu sein sondern scriptseitig.
Also habe ich einfach alle relevanten Scripte durchsucht, in denen aus welchem Grund auch immer zum Backend-Login umgeleitet wird.
Das ist immer dann der Fall, wenn ich irgendeine Backendfunktion ausführen will, aber nicht eingeloggt bin.
Nur frage ich mich, welche Backendfunktion ausgeführt wird, wenn ich die Startseite aufrufe.
Erst dachte ich, es läge vielleicht ein einem meiner eigenen Module.
Aber die habe ich erstmal komplett vom Server entfernt.
Was mir auch auffällt ist, dass Änderungen auf dem Server irgendwie eine Weile brauchen bis ich sie im Browser sehen kann.
Z.B. hat die Änderung der .htaccess Datei nur Auswirkungen, wenn ich sie lösche, die Seite neu lade, dann die neue Version hochlade und dann die Seite nochmal neu lade.
Ebenso bei anderen Dateien (wie z.B. config.php).
Als wenn da irgendwo etwas zwischengespeichert wird.
Ich bin soweit alles dem Windoof in die Schuhe zu schieben.
Schon allein die Tatsache, dass Windoof alle php Dateien von meiner Mac Festplatte beim Upload noch zusätzlich mit der Dateiendung .txt versehen hatte, macht es in meinen Augen mehr als schuldig für alles Übel auf dieser Welt
Die stimmen alle.
Wie die Domain genau eingerichtet ist kann ich nicht sagen, weil ich das nicht gemacht habe.
Die Seite lief aber vorher schonmal mit CMSms 1.5.4 ohne Probleme.
Wartungsmeldung hab ich auch nicht aktiviert.
Ist eine ganz jungfräuliche Installation.
An sowas wie Session ID hab ich auch schon gedacht.
Zumal es anfangs ja funktioniert hatte.
Nur nach dem ersten Login im Backend nicht mehr.
Daher mein Gedanke, dass die Session irgendwie nicht gelöscht wird.
Allerdings verstehe ich dann immer noch nicht wieso das Auswirkungen auf das Frontend haben sollte.
Kaum zu glauben, dass ich das vergesen hatte ::)cyberman wrote: Bei welchem Provider treten die Probs auf?
Provider ist w3peer.com.
Ist ein eigener Server von einem Bekannten eines Bekannten eines Bekannten. ::)
Da laufen die verschiedensten Anwendungen drauf.
Ich hab da leider nur FTP Zugang.
----------------------------------------------
Php Information:
* phpversion: 5.2.0-8+etch11
* md5_function: An (Ja)
* gd_version: 2
* tempnam_function: An (Ja)
* magic_quotes_runtime: Aus (Nein)
* memory_limit: 64M
* max_execution_time: 120
* safe_mode: Aus (Nein)
* session_save_path: /var/lib/php5 (1733)
Server Information:
* Server Api: cgi-fcgi
* Server Db Type: MySQL (mysql)
* Server Db Version: 5.0.32
Server-Software (server_software):
Apache/2.2.3 (Debian) DAV/2 SVN/1.4.2 mod_fastcgi/2.4.2 mod_jk/1.2.18 mod_mono/1.2.1 mod_python/3.2.10 Python/2.4.4 PHP/5.2.0-8+etch15 mod_ruby/1.2.6 Ruby/1.8.5(2006-08-25) mod_ssl/2.2.3 OpenSSL/0.9.8c mod_perl/2.0.2 Perl/v5.8.8
Server-Betriebssystem (server_os):
Linux 2.6.18-6-686-bigmem An i686
----------------------------------------------
Ich bin inzwischen mal ein Stück weiter gekommen.
Es scheint keine serverseitige Umleitung zu sein sondern scriptseitig.
Also habe ich einfach alle relevanten Scripte durchsucht, in denen aus welchem Grund auch immer zum Backend-Login umgeleitet wird.
Das ist immer dann der Fall, wenn ich irgendeine Backendfunktion ausführen will, aber nicht eingeloggt bin.
Nur frage ich mich, welche Backendfunktion ausgeführt wird, wenn ich die Startseite aufrufe.
Erst dachte ich, es läge vielleicht ein einem meiner eigenen Module.
Aber die habe ich erstmal komplett vom Server entfernt.
Was mir auch auffällt ist, dass Änderungen auf dem Server irgendwie eine Weile brauchen bis ich sie im Browser sehen kann.
Z.B. hat die Änderung der .htaccess Datei nur Auswirkungen, wenn ich sie lösche, die Seite neu lade, dann die neue Version hochlade und dann die Seite nochmal neu lade.
Ebenso bei anderen Dateien (wie z.B. config.php).
Als wenn da irgendwo etwas zwischengespeichert wird.
Ich bin soweit alles dem Windoof in die Schuhe zu schieben.
Schon allein die Tatsache, dass Windoof alle php Dateien von meiner Mac Festplatte beim Upload noch zusätzlich mit der Dateiendung .txt versehen hatte, macht es in meinen Augen mehr als schuldig für alles Übel auf dieser Welt

Last edited by NaN on Mon Aug 24, 2009 8:45 pm, edited 1 time in total.
Re: Frontend geht nur noch wenn man im Backend eingeloggt ist
OMG !!!

So blöd kann auch wirklich nur ich sein!
Alle Inhalte auf "Inhalt (extended)" umgestellt. (der modifizierte Inhaltstyp)
Das Ding hatte ich nicht bedacht.
Da später mehrere Domains mit einer Installation verwaltet werden sollen, habe ich an diesem Inhaltstypen noch ein paar Änderungen vorgenommen.
Für jede Domain legt man vorher eine Benutzergruppe an.
Jedes Seiten-Alias bekommt dann als Suffix den Namen der Benutzergruppe.
Und um an die Gruppe ranzukommen brauch ich die User ID des Backendusers.
Das geht mit der Funktion get_userid().
Genau hier macht sich das Einzige, was ich an CMSms nicht so optimal finde, bemerkbar.
Es wird immer alles mögliche geladen.
(Module, Templates, Sprachen etc.)
Egal ob es gebraucht wird oder nicht. *
Und aus irgendeinem Grund wird auch die Klasse des Inhaltstypen im Frontend geladen.
Bislang habe ich die Funktion get_userid() einfach ohne Argumente verwendet.
Jetzt ist mir aber aufgefallen, dass diese Funktion einen optionalen Parameter erwartet, nach dem auch der Login-Status im Backend geprüft und, falls man nicht eingeloggt ist, auf die Login-Seite des Backends umgeleitet wird.
Ein Blick in den Quellcode anderer Module (z.B. News: action fesubmit) sagt mir, dass man immer, wenn man im Frontend die Funktion get_userid() verwendet, als Parameter "false" übergeben muss.
Somit wird der Login-Status des Backendusers nicht geprüft.
Als Resultat erhält man dann zwar auch "false" aber es erfolgt keine Umleitung.
Wer hätte gedacht, dass mein eigenes Script mir so in den Rücken fallen würde
* Glücklicherweise hat Ted das bereits selbst bemängelt und verlauten lassen, dass sich das irgendwann ändern wird.
Und ich bleibe dabei: Windoze ist Schuld!

So blöd kann auch wirklich nur ich sein!
Und was habe ich gemacht nach dem ersten Login?NaN wrote: Zumal es anfangs ja funktioniert hatte.
Nur nach dem ersten Login im Backend nicht mehr.
Alle Inhalte auf "Inhalt (extended)" umgestellt. (der modifizierte Inhaltstyp)
Das Ding hatte ich nicht bedacht.
Da später mehrere Domains mit einer Installation verwaltet werden sollen, habe ich an diesem Inhaltstypen noch ein paar Änderungen vorgenommen.
Für jede Domain legt man vorher eine Benutzergruppe an.
Jedes Seiten-Alias bekommt dann als Suffix den Namen der Benutzergruppe.
Und um an die Gruppe ranzukommen brauch ich die User ID des Backendusers.
Das geht mit der Funktion get_userid().
Genau hier macht sich das Einzige, was ich an CMSms nicht so optimal finde, bemerkbar.
Es wird immer alles mögliche geladen.
(Module, Templates, Sprachen etc.)
Egal ob es gebraucht wird oder nicht. *
Und aus irgendeinem Grund wird auch die Klasse des Inhaltstypen im Frontend geladen.
Bislang habe ich die Funktion get_userid() einfach ohne Argumente verwendet.
Jetzt ist mir aber aufgefallen, dass diese Funktion einen optionalen Parameter erwartet, nach dem auch der Login-Status im Backend geprüft und, falls man nicht eingeloggt ist, auf die Login-Seite des Backends umgeleitet wird.
Ein Blick in den Quellcode anderer Module (z.B. News: action fesubmit) sagt mir, dass man immer, wenn man im Frontend die Funktion get_userid() verwendet, als Parameter "false" übergeben muss.
Somit wird der Login-Status des Backendusers nicht geprüft.
Als Resultat erhält man dann zwar auch "false" aber es erfolgt keine Umleitung.
Wer hätte gedacht, dass mein eigenes Script mir so in den Rücken fallen würde

* Glücklicherweise hat Ted das bereits selbst bemängelt und verlauten lassen, dass sich das irgendwann ändern wird.
Und ich bleibe dabei: Windoze ist Schuld!
Last edited by NaN on Tue Aug 25, 2009 3:45 pm, edited 1 time in total.