微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

(PHP)如何正确地销毁会话cookie?

我正在尝试正确注销管理员用户.这是我的功能
function logout()
{
    $_SESSION = array(); //destroy all of the session variables
    if (ini_get("session.use_cookies")) {
        $params = session_get_cookie_params();
        setcookie(session_name(),'',time() - 42000,$params["path"],$params["domain"],$params["secure"],$params["httponly"]
        );
    }
    session_destroy();
}

基本上,一旦我验证密码,我将会话设置为有效(只有1个用户总数).现在,当管理员点击注销时,我想销毁当前会话,并且还会破坏该cookie,以便他们不能仅仅使用浏览器中存储的会话cookie回到管理页面.但我的代码不起作用我点击退出,我可以直接导航回管理页面.但是,如果我删除我的cookies,功能是完美的.那么这个cookie删除功能怎么了?

也许您的问题不是cookie,而浏览器显示您的管理页面的缓存版本.可以吗?如果在F5中消失,那可能就是.这可以通过设置正确的缓存控制头来排序.

查看this SO question关于如何设置缓存的问题.问题是完全相反(强制浏览器缓存),但你会弄清楚要改变什么来关闭缓存.

原文地址:https://www.jb51.cc/php/139455.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐