【问题标题】:Cookie session is not invalidated after logout注销后 Cookie 会话不会失效
【发布时间】: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) 都以文本形式直接属于您的问题,并且格式正确。
  • 谢谢..这是我第一次询问堆栈溢出问题

标签: php codeigniter


【解决方案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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-06-30
    • 2012-06-11
    • 1970-01-01
    • 2012-01-21
    • 1970-01-01
    • 2016-02-03
    • 2015-08-14
    • 1970-01-01
    相关资源
    最近更新 更多