phpbar.de logo

Mailinglisten-Archive

[php] dauerhafter Login

[php] dauerhafter Login

Ralf Eggert ralf at in-greece.de
Fre Aug 6 12:37:18 CEST 2004


Hallo,

ich habe ein paar Verständnisproblem bei dauerhaften Logins mit Cookies.

Folgende Situation: Wenn sich ein Benutzer einloggt, legt mein System
zum einen in der Datenbank einen Datensatz für die Session an. Zum
anderen wird ein Cookie mit expire=0 gesetzt. Danach erfolgt ein
Redirect. Sobald der Benutzer seinen Browser schliesst, wird der Cookie
somit automatisch gelöscht. Bei jedem Seitenaufruf wird der
Sessiondatensatz für diesen Benutzer aktualisiert. Als weitere Funktion
wird bei jedem Seitenabruf geprüft, wann der Benutzer das letzte Mal
aktiv gewesen ist. Hat er 30 Minuten lang keine neue Seite mehr
aufgerufen, wird der Sessiondatensatz gelöscht und der Cookie ebenfalls.

Neues Feature: Ich möchte nun den Benutzern zusätzlich als Alternative
einen "dauerhaften" Login anbieten. Für den Cookie verwende ich bei
expire dann 60x60x24x365, d.h. der Cookie soll 1 Jahr gültig bleiben,
wenn sich der Benutzer nicht aktiv ausloggt. Klappt auch soweit ganz gut.

Mein Problem: da ich bei jedem Seitenaufruf prüfe, ob der Benutzer in
den letzten 30 Minuten aktiv war oder nicht, führt dies zu dem Problem,
dass der Benutzer automatisch ausgeloggt wird, sollte er z.B. einige
Stunden später wieder auf die Seite gelangen.

Kann ich mit PHP irgendwie erkennen, auf was der expire Wert des Cookie
gesetzt ist? So dass ich unterscheiden kann, ob es ein dauerhafter
Cookie war oder nicht?

Gibt es andere Möglichkeiten, das Problem zu lösen? Irgendwie habe ich
ein Brett vorm Kopf und denke, dass die Lösung ganz nah ist. :(

Danke für jeden Tipp.

Gruss,

Ralf

php::bar PHP Wiki   -   Listenarchive