summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichiel Vugteveen <info@it-can.nl>2018-08-07 15:23:21 +0200
committerMichiel Vugteveen <info@it-can.nl>2018-08-07 15:23:21 +0200
commitd3e9273de9af35bcbff77c251ca23bd621eecfb5 (patch)
treeedc625b5c413f1b1360befe5cc9878b8c653682f
parent5eda36d42b24ab8cf31bb3d122985612c2858045 (diff)
fix #5545
-rw-r--r--system/libraries/Session/Session_driver.php2
-rw-r--r--system/libraries/Session/drivers/Session_database_driver.php2
-rw-r--r--system/libraries/Session/drivers/Session_files_driver.php6
-rw-r--r--system/libraries/Session/drivers/Session_memcached_driver.php2
-rw-r--r--system/libraries/Session/drivers/Session_redis_driver.php2
5 files changed, 8 insertions, 6 deletions
diff --git a/system/libraries/Session/Session_driver.php b/system/libraries/Session/Session_driver.php
index 2fe30b8a2..a26b3a328 100644
--- a/system/libraries/Session/Session_driver.php
+++ b/system/libraries/Session/Session_driver.php
@@ -121,7 +121,7 @@ abstract class CI_Session_driver implements SessionHandlerInterface {
*/
public function php5_validate_id()
{
- if (PHP_VERSION_ID < 70000 && isset($_COOKIE[$this->_config['cookie_name']]) && ! $this->validateId($_COOKIE[$this->_config['cookie_name']]))
+ if (isset($_COOKIE[$this->_config['cookie_name']]) && ! $this->validateSessionId($_COOKIE[$this->_config['cookie_name']]))
{
unset($_COOKIE[$this->_config['cookie_name']]);
}
diff --git a/system/libraries/Session/drivers/Session_database_driver.php b/system/libraries/Session/drivers/Session_database_driver.php
index 074accfe7..f34269002 100644
--- a/system/libraries/Session/drivers/Session_database_driver.php
+++ b/system/libraries/Session/drivers/Session_database_driver.php
@@ -353,7 +353,7 @@ class CI_Session_database_driver extends CI_Session_driver implements SessionHan
* @param string $id
* @return bool
*/
- public function validateId($id)
+ public function validateSessionId($id)
{
// Prevent previous QB calls from messing with our queries
$this->_db->reset_query();
diff --git a/system/libraries/Session/drivers/Session_files_driver.php b/system/libraries/Session/drivers/Session_files_driver.php
index 654f30010..f5925d5a6 100644
--- a/system/libraries/Session/drivers/Session_files_driver.php
+++ b/system/libraries/Session/drivers/Session_files_driver.php
@@ -402,9 +402,11 @@ class CI_Session_files_driver extends CI_Session_driver implements SessionHandle
* @param string $id
* @return bool
*/
- public function validateId($id)
+ public function validateSessionId($id)
{
- return is_file($this->_file_path.$id);
+ $result = is_file($this->_file_path.$id);
+ clearstatcache(TRUE, $this->_file_path.$id);
+ return $result;
}
// --------------------------------------------------------------------
diff --git a/system/libraries/Session/drivers/Session_memcached_driver.php b/system/libraries/Session/drivers/Session_memcached_driver.php
index 9e8116885..b46443936 100644
--- a/system/libraries/Session/drivers/Session_memcached_driver.php
+++ b/system/libraries/Session/drivers/Session_memcached_driver.php
@@ -303,7 +303,7 @@ class CI_Session_memcached_driver extends CI_Session_driver implements SessionHa
* @param string $id
* @return bool
*/
- public function validateId($id)
+ public function validateSessionId($id)
{
$this->_memcached->get($this->_key_prefix.$id);
return ($this->_memcached->getResultCode() === Memcached::RES_SUCCESS);
diff --git a/system/libraries/Session/drivers/Session_redis_driver.php b/system/libraries/Session/drivers/Session_redis_driver.php
index d7a57550a..f351aff4b 100644
--- a/system/libraries/Session/drivers/Session_redis_driver.php
+++ b/system/libraries/Session/drivers/Session_redis_driver.php
@@ -323,7 +323,7 @@ class CI_Session_redis_driver extends CI_Session_driver implements SessionHandle
* @param string $id
* @return bool
*/
- public function validateId($id)
+ public function validateSessionId($id)
{
return (bool) $this->_redis->exists($this->_key_prefix.$id);
}