Hallo
gibt es eine möglichkeit das der user automatisch ausgeloggt wirt noch einer gewissen zeit.
Druckbare Version
Hallo
gibt es eine möglichkeit das der user automatisch ausgeloggt wirt noch einer gewissen zeit.
hmm
meinste jetztt nach einer gewissen inaktivitätszeit? oder allgemein, dass du jede session nach xx min kappst?
also jetzt vom logischen her:
du kannst eine session mit session_destroy(); beenden.
mein lösungsansatz wäre, dass du in der session.lib beim einloggn z.b.
$_SESSION['login_time'] = time();
setzt.
dann halt irgendwie beim seitenaufruf stetig erhöhen/setzen ,
vorher abfragen ob time() > $_SESSION['login_time'] + DIEZEITDIEERMAXIMALINAKTIVSEINDARF
wenn ja, ---> session_destroy(); , else --> weiter machn ;D
müsste eig. funktionieren ist allerdings ungetestet und scho sehr spät (ähh früh ;D )
In der session.lib.php vor session_start(); folgendes anfügen:
Bedenke aber, dass wenn Autologin aktiviert ist, die Session immer wieder neu erstellt wird. D.h. du musst das Autologin deaktivieren?PHP-Code:
$expireTime = 60*60*6; // 6 = stunden
ini_set('session.use_cookies', true);
ini_set('session.gc_maxlifetime', time() + $expireTime);
ini_set('session.cookie_lifetime', time() + $expireTime);
ini_set('session.serialize_handler', 'php');
ini_set('session.gc_probability', 1);
session_set_cookie_params($expireTime);
Ist zwar schon asbach,dennoch würde mich interessieren, wie man das realisieren kann.
Ich hab in der session.lib den Teil für den Autologin Cookie Teil rausgenommen. Den Code von sebby eingesetzt und probehalber auf 1 Std gesetzt. Ist leider nach ablauf nichts passiert.
Muss Autologin noch woanders rausgenommen werden? Wäre nett, wenn da jemand nen Tipp für mich hätte oder eine andere Lösung parat hat.
Danke :wink:
LG
Moin,
kleine korrektur.
Hab es jetzt nochmal mit allen gängigen Browser getestet und funzt doch wie von sebby beschrieben. Man sollte allerdings den Autologin Teil in der session.lib rausnehmen, damit die session nicht als erneuert wird.
LG