diff --git a/application/config/config.php b/application/config/config.php index 4ca2c802..adefd2fc 100644 --- a/application/config/config.php +++ b/application/config/config.php @@ -353,7 +353,7 @@ $config['sess_expiration'] = 7200; $config['sess_save_path'] = __DIR__ . '/../../storage/sessions'; $config['sess_match_ip'] = false; $config['sess_time_to_update'] = 300; -$config['sess_regenerate_destroy'] = false; +$config['sess_regenerate_destroy'] = true; /* |-------------------------------------------------------------------------- diff --git a/system/libraries/Session/Session.php b/system/libraries/Session/Session.php index 6daf8dae..8e37b2d9 100644 --- a/system/libraries/Session/Session.php +++ b/system/libraries/Session/Session.php @@ -124,7 +124,7 @@ class CI_Session { unset($_COOKIE[$this->_config['cookie_name']]); } - @session_start(); + session_start(); // Is session ID auto-regeneration configured? (ignoring ajax requests) if ((empty($_SERVER['HTTP_X_REQUESTED_WITH']) OR strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) !== 'xmlhttprequest') @@ -137,7 +137,7 @@ class CI_Session { } elseif ($_SESSION['__ci_last_regenerate'] < (time() - $regenerate_time)) { - $this->sess_regenerate((bool) config_item('sess_regenerate_destroy')); + $this->sess_regenerate(); } } // Another work-around ... PHP doesn't seem to send the session cookie @@ -691,8 +691,9 @@ class CI_Session { * @param bool $destroy Destroy old session data flag * @return void */ - public function sess_regenerate($destroy = FALSE) + public function sess_regenerate($destroy = null) { + $destroy = (bool) $destroy !== null ? $destroy : config_item('sess_regenerate_destroy'); $_SESSION['__ci_last_regenerate'] = time(); session_regenerate_id($destroy); }