Frontend-Login funktioniert nur sporadisch

Gesperrt
muensmedia
Beiträge: 8
Registriert: Mo 2. Mär 2009, 17:58
Kontaktdaten:

Frontend-Login funktioniert nur sporadisch

Beitrag von muensmedia » Di 3. Mär 2009, 14:53

Hi,

ich habe ein großes Problem, das Frontend-Login (der Version 4.8.11) funktioniert nur sporadisch.
Auf Nachfragen kann ich ausschließen, dass die betroffenen Personen falsche Eingaben tätigen, habe sogar die Login-Vorgänge mal protokolliert.
Das Problem tritt jedoch nicht wie erst vermutet nur bei Firefox-Nutzern, sondern auch bei anderen Browsern auf.

Abhilfe schafft das löschen sämtlicher temp-Dateien im Browser (Cookies+Private Daten).
Ich hatte die Idee, dass ein evtl. veralteter timestamp, der im Browser gespeichert wird, das Login zum Scheitern bringt, habe aber nun in der Datei "conlib/local.php" die entsprechende Überprüfung auskommentiert ohne Wirkung.

Habt ihr eine Idee, wodurch es scheitern könnte, wenn die Benutzerdaten ja richtig sind?
Oder habt ihr vielleicht ähnliche Erfahrungen gamacht? :?:

Bitte um rege Antworten, da mir die Nutzer minütlich weglaufen oder mich mit nicht so freundlichen Mails bombadieren.

Viele Grüße
Malte

xmurrix
Beiträge: 3147
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Re: Frontend-Login funktioniert nur sporadisch

Beitrag von xmurrix » Mi 4. Mär 2009, 22:06

Hallo,

falls direkt nach dem Login ein Redirect zur einer Seite stattfindet, oder die vollständige Ausführung des Frontends unterbrochen wird, kann das der eines der Gründe sein, dass die Anmeldung "sporadisch" funktioniert.

Der Loginstatus des Users wird in der Session gespeichert, damit aber der aktuelle Stand der Session selber gespeichert werden kann, muss die front_content.php vollständig ausgeführt werden. Am Ende der front_content.php wird sorgt die Zeile

Code: Alles auswählen

page_close();
dafür, dass der Stand der Session gespeichert wird.

Sollte vorher ein Redirect stattfinden, kommt es nicht dazu und der eingeloggte User wird beim nächsten Aufruf nicht erkannt.

Gruß
xmurrix
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.

muensmedia
Beiträge: 8
Registriert: Mo 2. Mär 2009, 17:58
Kontaktdaten:

Re: Frontend-Login funktioniert nur sporadisch

Beitrag von muensmedia » Mi 4. Mär 2009, 23:00

Erstmal vielen Dank für die Antwort! :wink:
xmurrix hat geschrieben: Sollte vorher ein Redirect stattfinden, kommt es nicht dazu und der eingeloggte User wird beim nächsten Aufruf nicht erkannt.
Also die User geben auf meiner Seite im Frontend ihre Daten ein, das Login scheitert jedoch obwohl die Daten richtig sind, Folge des fehlgeschlagenen Logins, es wird das Standard-Login-Form angezeigt.
Es gibt also vorher keinen Redirect, kann ich auch nicht im PHP-Code erkennen. Oder habe ich dich falsch verstanden? :roll:

Das Problem scheint nur aufzutauchen, wenn alte temp-Dateien im Browser gespeichert sind, welche könnten das sein?

Kann es sein, dass es mit der lifetime-Einstellung der Cookies zu tun hat?
Habe die wie im Code kommentiert auf ca. 60 Min eingestellt.

xmurrix
Beiträge: 3147
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Re: Frontend-Login funktioniert nur sporadisch

Beitrag von xmurrix » Do 5. Mär 2009, 00:10

muensmedia hat geschrieben:...Das Problem scheint nur aufzutauchen, wenn alte temp-Dateien im Browser gespeichert sind, welche könnten das sein?
Eigentlich sollten die temp-Dateien überhaupt keinen Einfluss auf das Verhalten haben.
Kannst du diesen Fehler reproduzieren? Wenn ja, müsste in der conlib/local.php in der Authenfifizierung function auth_validatelogin() ab Zeile 705 das Problem eingrenzbar sein. Soweit mit bekannt ist, wird dort $username und $password überprüft. Die Loginform erscheint, wenn diese Überprüfung fehlschlägt.
Kann es sein, dass eine der globalen Variablen $username oder $password nicht die Werte enthalten, die der User eingegeben hat?
muensmedia hat geschrieben:Kann es sein, dass es mit der lifetime-Einstellung der Cookies zu tun hat?...
Glaube ich nicht. Falls in der Superglobalen $_SESSION oder in $_COOKIE Werte gespeichert werden, z. B. $_SESSION['username'] oder $_COOKIE['username'] kann dieser Wert den per $_POST oder $_GET ankommenden Usernamen überschreiben und die Authentifizierung schlägt fehl.
Gibt es eventuell third party Tools oder Module die mit §_SESSION oder $_COOKIE arbeiten?

Gruß
xmurrix
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.

muensmedia
Beiträge: 8
Registriert: Mo 2. Mär 2009, 17:58
Kontaktdaten:

Re: Frontend-Login funktioniert nur sporadisch

Beitrag von muensmedia » So 8. Mär 2009, 19:38

xmurrix hat geschrieben:Kann es sein, dass eine der globalen Variablen $username oder $password nicht die Werte enthalten, die der User eingegeben hat?
Die übergebenen Werte sind richtig, andernfalls müsste das Login ja immer scheitern.
xmurrix hat geschrieben: Gibt es eventuell third party Tools oder Module die mit §_SESSION oder $_COOKIE arbeiten?
Nein, ich habe kein zusätzliches Modul, dass $_SESSION oder $_COOKIE auch nur antastet.

Ich werde mal die local.php durch die Orginaldatei ersetzten, um zu beobachten, ob es vielleicht doch etwas mit den lifetime-Einstellungen der Cookies zu tun haben könnte.

Habt ihr noch weitere Ideen?

Grüße
Malte

Axel
Beiträge: 82
Registriert: Di 26. Aug 2003, 08:35
Kontaktdaten:

Re: Frontend-Login funktioniert nur sporadisch

Beitrag von Axel » Di 2. Jun 2009, 13:44

HAbe auch mit der 4.8.12 das gleiche Problem .... hat jemand eine Lösung dafür?

marphin
Beiträge: 196
Registriert: Mo 24. Nov 2003, 13:01

Re: Frontend-Login funktioniert nur sporadisch

Beitrag von marphin » Do 4. Jun 2009, 08:18

Guten Morgen zusammen,

ich habe ein ähnliches Problem mit der 4.8.12. Sobald die richtigen Zugangsdaten eingegeben werden und man auf "Login" klickt, erscheint eine leere Seite mit folgender Fehlermeldung:
No code was created for this art in this category.
Wenn ich jetzt aber auf den "Zurück"-Button des Browsers klicke und dann auf Mitgliederbereich, öffnet sich die 2. Ebene der Navigation mit den geschützten Kategorien.

Im Log steht folgendes, mit dem ich aber nichts anfangen kann:
[01-Jun-2009 08:33:12] PHP Warning: Invalid argument supplied for foreach() in /absdxyz/www.website.de/contenido/includes/inclu ... m.php(147) : eval()'d code on line 56
Kann mir da vielleicht jemand weiter helfen?

Vielen Dank und viele Grüße
Martin

marphin
Beiträge: 196
Registriert: Mo 24. Nov 2003, 13:01

Re: Frontend-Login funktioniert nur sporadisch

Beitrag von marphin » Mo 8. Jun 2009, 10:58

Kann hier niemand sagen, woran das liegen kann? - Oder habe ich hier am falschen Ort gepostet?

muensmedia
Beiträge: 8
Registriert: Mo 2. Mär 2009, 17:58
Kontaktdaten:

Re: Frontend-Login funktioniert nur sporadisch

Beitrag von muensmedia » Mi 17. Jun 2009, 14:30

Hallo,
also das Problem bestand darin, dass die ClientID teilweise falsch ermittelt wurde, woran das lag, habe ich nicht weiter erforscht, habe die einfach statisch gesetzt und damit war das Problem gelöst.

Code: Alles auswählen

conlib/local.php
Zeile 722 ergänzen: $client = 1;
@marphin
Ja, dein Problem scheint nicht das selbe zu sein, ein neuer Thread wäre also sinvoll.
Kann es sein, dass du nach dem Login auf eine Seite/Artikel verlinkst den es garnicht gibt?
Wie heißt denn deine URL nach dem Login?

Die Fehlermeldung sagt, dass bei einem foreach ein Fehler auftrat, weil ein Argument ungültig war.
Vielleicht gibt es einfach keinen Inhalt im Array, deshlab der Fehler.

Gesperrt