2020-11-18 18:53:47 +01:00
|
|
|
<?php
|
|
|
|
if (php_sapi_name() == "cli")
|
|
|
|
return true;
|
|
|
|
|
|
|
|
// Define session max duration
|
|
|
|
if (!isset($session_max_duration))
|
|
|
|
$session_max_duration = (12*60*60); // Default to 12h
|
|
|
|
ini_set('session.gc_maxlifetime', $session_max_duration);
|
|
|
|
ini_set('session.cookie_lifetime', $session_max_duration);
|
|
|
|
|
|
|
|
// Start session
|
|
|
|
session_start();
|
|
|
|
|
|
|
|
// Init session key
|
|
|
|
if (!isset($_SESSION['session_key'])) {
|
|
|
|
$_SESSION['session_key']=uniqid();
|
|
|
|
}
|
|
|
|
|
|
|
|
// Handle session timeout
|
|
|
|
if ($session_timeout) {
|
|
|
|
if (!isset($_SESSION['session_last_access'])) {
|
|
|
|
logging('DEBUG', 'Set initial session last access');
|
|
|
|
$_SESSION['session_last_access'] = time();
|
|
|
|
}
|
|
|
|
elseif ($_SESSION['session_last_access'] > (time() - $session_timeout)) {
|
|
|
|
logging('DEBUG', 'Session timeout not expired, update session last access (Previous value : '.$_SESSION['session_last_access'].')');
|
|
|
|
$_SESSION['session_last_access'] = time();
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
logging('INFO', 'Session destroyed due to inactivity');
|
|
|
|
session_destroy();
|
|
|
|
}
|
|
|
|
}
|
2021-07-28 17:13:10 +02:00
|
|
|
|
|
|
|
function check_session_key($value=null) {
|
|
|
|
if (is_null($value) && isset($_REQUEST['session_key']))
|
|
|
|
$value = $_REQUEST['session_key'];
|
|
|
|
return ($value && $_SESSION['session_key'] == $value);
|
|
|
|
}
|