From c2e9c2625f04de17ba451cd2d16cc3a9fc47b829 Mon Sep 17 00:00:00 2001 From: HB9HIL Date: Mon, 7 Oct 2024 09:31:10 +0000 Subject: [PATCH] better place it in the config.php --- application/config/config.sample.php | 11 +++++++++++ application/models/User_model.php | 10 ---------- install/config/config.php | 11 +++++++++++ system/libraries/Session/Session.php | 3 +++ 4 files changed, 25 insertions(+), 10 deletions(-) diff --git a/application/config/config.sample.php b/application/config/config.sample.php index 3bd0250d9..4f12b9e0e 100644 --- a/application/config/config.sample.php +++ b/application/config/config.sample.php @@ -460,6 +460,17 @@ $config['sess_match_ip'] = FALSE; $config['sess_time_to_update'] = 300; $config['sess_regenerate_destroy'] = FALSE; +/* + * To make sure we do not collect infinite session we set some garbage collection settings + * see https://www.php.net/manual/en/session.configuration.php#ini.session.gc-probability + * and https://www.php.net/manual/en/session.configuration.php#ini.session.gc-divisor + * and https://osvaldas.info/enabling-codeigniters-garbage-collector/ + * + * set the probability to 1/1000 to make sure we do not collect too often +*/ +$config['sess_gc_probability'] = 1; +$config['sess_gc_divisor'] = 1000; + /* |-------------------------------------------------------------------------- | Cookie Related Variables diff --git a/application/models/User_model.php b/application/models/User_model.php index 7cc852ca9..72e8948b6 100644 --- a/application/models/User_model.php +++ b/application/models/User_model.php @@ -482,16 +482,6 @@ class User_Model extends CI_Model { $this->session->set_userdata($userdata); - /* to make sure we do not collect infinite session we set some garbage collection settings - * see https://www.php.net/manual/en/session.configuration.php#ini.session.gc-probability - * and https://www.php.net/manual/en/session.configuration.php#ini.session.gc-divisor - * and https://osvaldas.info/enabling-codeigniters-garbage-collector/ - * - * set the probability to 1/1000 to make sure we do not collect too often - */ - ini_set('session.gc_probability', 1); - ini_set('session.gc_divisor', 1000); - } // FUNCTION: bool validate_session() diff --git a/install/config/config.php b/install/config/config.php index b6d655ca2..a948717c1 100644 --- a/install/config/config.php +++ b/install/config/config.php @@ -460,6 +460,17 @@ $config['sess_match_ip'] = FALSE; $config['sess_time_to_update'] = 300; $config['sess_regenerate_destroy'] = FALSE; +/* + * To make sure we do not collect infinite session we set some garbage collection settings + * see https://www.php.net/manual/en/session.configuration.php#ini.session.gc-probability + * and https://www.php.net/manual/en/session.configuration.php#ini.session.gc-divisor + * and https://osvaldas.info/enabling-codeigniters-garbage-collector/ + * + * set the probability to 1/1000 to make sure we do not collect too often +*/ +$config['sess_gc_probability'] = 1; +$config['sess_gc_divisor'] = 1000; + /* |-------------------------------------------------------------------------- | Cookie Related Variables diff --git a/system/libraries/Session/Session.php b/system/libraries/Session/Session.php index 066e6a0e6..4948ead2f 100644 --- a/system/libraries/Session/Session.php +++ b/system/libraries/Session/Session.php @@ -124,6 +124,9 @@ class CI_Session { unset($_COOKIE[$this->_config['cookie_name']]); } + ini_set('session.gc_probability', config_item('sess_gc_probability') ?? 1); + ini_set('session.gc_divisor', config_item('sess_gc_divisor') ?? 1000); + session_start(); // Is session ID auto-regeneration configured? (ignoring ajax requests)