X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=includes%2Fsession.inc;h=37591d3489e8bdbceffdb78b28eece26c6053966;hb=4274e2d6ed6f5ee12bdf8425138ccdca1b92a95b;hp=ed5f5c0312e1da7773c34f1676a4407c233898bd;hpb=50339ff6ffe3cbb2a6237cc6a922a98481c7a41f;p=fa-stable.git diff --git a/includes/session.inc b/includes/session.inc index ed5f5c03..37591d34 100644 --- a/includes/session.inc +++ b/includes/session.inc @@ -76,8 +76,7 @@ class SessionManager $_SESSION['EXPIRES'] = time() + 10; // Create new session without destroying the old one - session_regenerate_id(version_compare(PHP_VERSION, '5.1.0') >= 0 && (substr(strtoupper(PHP_OS),0,3) == "WIN")); - + session_regenerate_id(); // Grab current session ID and close both sessions to allow other scripts to use them $newSession = session_id(); session_write_close(); @@ -355,7 +354,6 @@ foreach ($installed_extensions as $ext) // ini_set('session.save_path', dirname(__FILE__).'/../tmp/'); ini_set('session.gc_maxlifetime', 36000); // 10hrs -ini_set('session.cache_limiter', 'private'); // prevent 'page expired' errors $Session_manager = new SessionManager(); $Session_manager->sessionStart('FA'.md5(dirname(__FILE__))); @@ -453,6 +451,14 @@ if (strstr($_SERVER['PHP_SELF'], 'logout.php') == false){ // Incorrect password login_fail(); } + elseif(!$_SESSION['timeout']['post']) + { + // in case of GET request redirect to avoid confirmation dialog + // after return from menu option + header("HTTP 1.1 303 See Other"); + header("Location: ".$_SESSION['timeout']['uri']); + exit(); + } $lang = &$_SESSION['language']; $lang->set_language($_SESSION['language']->code); }