<?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(); } } function check_session_key($value=null) { if (is_null($value) && isset($_REQUEST['session_key'])) $value = $_REQUEST['session_key']; return ($value && $_SESSION['session_key'] == $value); }