2010-05-25 27 views
5

Ich brauche Auto-Abmeldesystem in meiner Anwendung.Wie erreicht man automatische Abmeldung in PHP?

Wenn der Benutzer die Anwendung nicht länger als 30 Minuten verwendet, sollten sie sich erneut anmelden.

das ist was ich brauche. lastAccessTime sollte kleiner als 30 Minuten sein. Wenn lastAccessTime 30 Minuten überschreitet, sollte sich der Benutzer erneut mit seinen Anmeldeinformationen anmelden.

(derzeit i Auto abzumelden mit Lastaccesstime Feld in Meiner Benutzertabelle (Datenbank) und vergleicht Lastaccesstime mit dem aktuellen Zeit für jede Seite geladen wird, ich glaube nicht, dass dies die richtige Weg ist.)

ist sie eine Möglichkeit, leisten? Vielen Dank im Voraus.

Antwort

7

Sie sollten die Lebensdauer einer Sitzung angeben und verwenden nur die $_SESSION zu sehen, ob ein Benutzer angemeldet ist:

ini_set('session.cookie_lifetime',(60*30)); // 60 seconds times 30 = 30 minutes 
+0

dass auch einen aktiven Benutzer verwenden könnten nach 30 Minuten Würde nicht abzuzumelden ? –

+4

Nein, jedes Mal, wenn ein aktiver Benutzer die Seite besucht, wird der Cookie zurückgesetzt. – Konerak

+2

Nein, jede Anfrage setzt den Cookie zurück und startet den Timer neu. – Amadan

3

Wenn Sie Cookies verwenden Benutzer zu halten angemeldet, einfach eine ausreichende TTL für sie eingestellt .

Für eine 30-minütige Ablaufzeit eingestellt auf Login in der Cookie auf diese Weise:

setcookie($COOKIE_NAME, $COOKIE_VALUE, time() + 60 * 30); 

Alternativ Sie session_set_cookie_params

session_set_cookie_params(60 * 30); // takes lifetime as first argument 
Verwandte Themen