Fix auth timing out due to cookie timing out and getting deleted.
parent
f568e0da30
commit
2993e52652
|
@ -21,11 +21,18 @@ function zm_session_start() {
|
|||
|
||||
session_start();
|
||||
$_SESSION['remoteAddr'] = $_SERVER['REMOTE_ADDR']; // To help prevent session hijacking
|
||||
$now = time();
|
||||
// Do not allow to use expired session ID
|
||||
if ( !empty($_SESSION['last_time']) && ($_SESSION['last_time'] < (time() - 180)) ) {
|
||||
if ( !empty($_SESSION['last_time']) && ($_SESSION['last_time'] < ($now - 180)) ) {
|
||||
ZM\Info('Destroying session due to timeout. ');
|
||||
session_destroy();
|
||||
session_start();
|
||||
} else if ( !empty($_SESSION['generated_at']) ) {
|
||||
ZM\Logger::Debug("Have generated_at: " . $_SESSION['generated_at']);
|
||||
if ( $_SESSION['generated_at']<($now-(ZM_COOKIE_LIFETIME/2)) ) {
|
||||
ZM\Logger::Debug("Regenerating session because generated_at " . $_SESSION['generated_at'] . ' < ' . $now . '-'.ZM_COOKIE_LIFETIME.'/2 = '.($now-ZM_COOKIE_LIFETIME/2));
|
||||
zm_session_regenerate_id();
|
||||
}
|
||||
}
|
||||
} // function zm_session_start()
|
||||
|
||||
|
@ -44,6 +51,7 @@ function zm_session_regenerate_id() {
|
|||
session_start();
|
||||
session_regenerate_id();
|
||||
unset($_SESSION['last_time']);
|
||||
$_SESSION['generated_at'] = time();
|
||||
} // function zm_session_regenerate_id()
|
||||
|
||||
function is_session_started() {
|
||||
|
|
Loading…
Reference in New Issue