注销后 Cookie 会话不会失效
Posted
技术标签:
【中文标题】注销后 Cookie 会话不会失效【英文标题】:Cookie session is not invalidated after logout 【发布时间】:2021-03-14 12:24:33 【问题描述】:我的 Web 应用程序是使用具有登录和注销功能的 codeigniter 2 构建的。但我不能在用户注销系统后使会话 cookie 无效。我的意思是,当用户注销时,他可以重用他或她以前的会话 cookie 来访问仪表板。看起来 cookie 仅在客户端浏览器上清除,但在服务器端仍然有效。 这是我的注销功能...
function logout()
$user = new User($this->session->userdata('uid'));
$user->last_active = (time());
//$user->last_login = date_convert(time(),true);
$user->login_status = 0;
if($user->id) $user->save();
$log = new UserLogger();
$log->ulog($this->session->userdata('uid'),'Logout',"User Successfully Logged out of System",0,0,0);
$this->session->set_userdata('form_token',false);
$this->session->sess_destroy();
$this->SystemCore->clearUserSession();
$this->index();
【问题讨论】:
请阅读How to Ask。我们不希望在此处显示代码图像,所有与您的问题相关的代码 (minimal reproducible example) 都以文本形式直接属于您的问题,并且格式正确。 谢谢..这是我第一次询问堆栈溢出问题 【参考方案1】:对我有用的是销毁所有会话 cookie
session_start();
session_destroy();
$home_url = 'http://' . $_SERVER['HTTP_HOST'] . dirname($_SERVER['php_SELF']) .'/index.php';
header('Location: ' . $home_url);
Logout PHP Script
【讨论】:
以上是关于注销后 Cookie 会话不会失效的主要内容,如果未能解决你的问题,请参考以下文章
Keycloak node.js 适配器不会在注销时使 connect.sid 会话 cookie 无效