2014-02-16 2 views
2

Я использую этот блок кода для выхода в mannual, но я хочу автоматический выход из системы после 5 минут бездействия на веб-сайте. Как это сделать? БлагодаряКак уничтожить сеанс автоматически после 5 минут бездействия на веб-сайте в php

<?php 
session_start(); 
error_reporting(E_ALL); 
ini_set('display_errors', '1');` 
session_destroy(); 

if(!session_is_registered('username')){ 

header("location: logout_msg.html"); 
} else { 
print "<h2>Could not log you out, sorry the system encountered an error.</h2>"; 
exit(); 

?>

+0

http://stackoverflow.com/questions/572938/force-logout-users-if-users-are-inactive-for-a-certain-period-of-time –

ответ

0

Сохранить текущий временной метки в сессии на каждом просмотре страницы. Проверьте значение и сделайте недействительным их сеанс, если текущая временная метка больше пяти минут, отличная от значения сеанса.

1

Все зависит от того, как вы определяете бездействие. Я делаю что-то вроде этого

if ($_SESSION['LAST_ACTIVITY'] < time() - (60 * 5)) { 
    // logout 
} 

$_SESSION['LAST_ACTIVITY'] = time(); 
+0

Что будет '$ _SESSION ['LAST_ACTIVITY' ] 'делать? – FarwallGhost

+0

Устанавливает текущую временную метку при каждой загрузке страницы после проверки того, была ли последняя загрузка страницы менее 5 минут назад. – danronmoon

1

Вы можете попробовать что-то вроде $_SESSION['CREATED'] хранить метку времени, а затем проверить, если ваше значение было создано до $_SESSION['CREATED'] + 300.

Смежные вопросы