2013-05-15 1 views
0

Через 30 минут пользователь должен получить войти, но это, кажется, кэш держит пользователь онлайн в течение нескольких страниц/кликов ...Non кэширования страниц

if (isset($_SESSION['LAST_ACTIVITY']) && (time() - $_SESSION['LAST_ACTIVITY'] > 1800)) { 
    session_destroy(); 
    session_unset(); 
} 

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

// regenerates the session ID periodically to avoid attacks on sessions 
if (!isset($_SESSION['CREATED'])) { 
    $_SESSION['CREATED'] = time(); 
} else if (time() - $_SESSION['CREATED'] > 1800) { 
    session_regenerate_id(true); 
    $_SESSION['CREATED'] = time(); 
} 

$ts = gmdate("D, d M Y H:i:s") . " GMT"; 
header("Expires: $ts"); 
header("Last-Modified: $ts"); 
header("Pragma: no-cache"); 
header("Cache-Control: no-cache, must-revalidate"); 

ответ

1
if (isset($_SESSION['LAST_ACTIVITY']) && (time() - $_SESSION['LAST_ACTIVITY'] > 1800)) { 
    session_destroy(); 
    session_unset(); 
} 

эта часть, кажется, имеют опечатку, где одна из круглых скобок после 1800 должна быть напротив знака «больше»:

if (isset($_SESSION['LAST_ACTIVITY']) && (time() - $_SESSION['LAST_ACTIVITY']) > 1800) { 
    session_destroy(); 
    session_unset(); 
} 
+0

Это решило проблему! – user1725969

+0

Отлично :) Пожалуйста, отметьте это как принятый ответ в этом случае;) –

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

  • Нет связанных вопросов^_^