Mailinglisten-Archive |
Ralf Eggert schrieb: > 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. :( speicherst du das Ende der Sesssion ( now() + 30min ) nicht auch? ... daran würde cih es überprüfen, und da kannst du ja dann auch 'ewige' Zeiten eintragen ... -- Sebastian Mendel www.sebastianmendel.de www.warzonez.de www.tekkno4u.de www.nofetish.com www.sf.net/projects/phpdatetime www.sf.net/projects/phptimesheet
php::bar PHP Wiki - Listenarchive