Y a-t-il une option pour détruire une session si l'utilisateur n'effectue aucune action en 10 minutes? P>
6 Réponses :
session_start(); // 10 mins in seconds $inactive = 600; $session_life = time() - $_SESSION['timeout']; if($session_life > $inactive) { session_destroy(); header("Location: logoutpage.php"); } $_SESSION['timeout']=time(); The code above was taken from this particular page.
C'est tellement (Stackoverflow) Style de poster le code directement, puis Lien vers la source B>. De cette façon dans quelques années si la source ferme votre réponse est toujours utile. Mais n'oubliez pas de lier!
@Frankie S'il vous plaît assurez-vous de le modifier correctement la prochaine fois. Vous avez supprimé une partie du lien, ce qui rend le point à un fil complètement différent!
Essayez de définir le délai de session à 10 minutes.
ini_set('session.gc_maxlifetime',10);
Où devrais-je mettre cette ligne de code dans session.php?
Comparez les horodatages entre deux demandes, une de la demande actuelle, une fois stockée dans la session. P>
J'ai modifié la réponse ci-dessus et cela fonctionne bien:
// inactive in seconds $inactive = 10; if( !isset($_SESSION['timeout']) ) $_SESSION['timeout'] = time() + $inactive; $session_life = time() - $_SESSION['timeout']; if($session_life > $inactive) { session_destroy(); header("Location:index.php"); } $_SESSION['timeout']=time();
y compris le JavaScript suivant de la page provoquera une vérification de l'inactivité en appelant la fonction checkidletime () code> chaque seconde. Activité sur la page Réinitialise
_idlesecondscounter code> à 0.
Bien que ce code puisse répondre à la question, fournir des informations sur la manière et expliquer pourquoi il résout le problème améliore sa valeur à long terme.
Je l'ai fait avec le code suivant:
//10 min if( !isset($_SESSION['logout']) ){ $_SESSION['logout'] = strtotime('+10 minutes', time()); } if( time() > $_SESSION['logout']) { session_destroy(); header("Location: index.php"); }else{ $_SESSION['logout'] = strtotime('+10 minutes', time()); } //echo date('Y/m/d h:i:s',$_SESSION['logout']); //echo $_SESSION['logout'];