基于Cookie的身份验证注销无法正常工作

时间:2012-09-13 16:20:22

标签: php codeigniter session cookies

我正在构建一个基于cookie的会话机制,它有一个抽象类Session,可以扩展为多个cookie会话实例,以满足不同的使用和复杂性......

我还有一个Auth类,它处理权限以及实际登录和退出用户。 Auth类需要运行Session Class或子类。

到目前为止,一切都很棒我可以登录用户,如果已经过了一定的时间,ip地址不匹配等,也会将其注销。

每个页面加载都会读取cookie检查是否存在不一致,并根据xyz销毁或更新它。销毁脚本现在将cookie上的时间设置为减去并删除从auth库添加的任何用户数据。这有效,因为我已经登录等了几分钟然后点击刷新,cookie变得疲惫不堪,我被弹回到登录界面。

但是如果我想通过它们单击按钮来记录它们,则销毁脚本不起作用,即我可以回显顶部的原始用户数据运行注销脚本,该脚本回显注销并运行所有功能错误等然后如果我得到用户cookie它仍然是相同的。我无法理解这对于自动检查是如何工作的,但是当用户点击注销按钮时却不能...

下面是我的sessionDestroy函数

protected function sessionDestroy($cookieName) {

    setcookie(
                $cookieName,
                addslashes(serialize(array())),
                (time() - 3600),
                0
        );          
}

P.S我知道破坏是一个坏词,但你知道我的意思......希望

1 个答案:

答案 0 :(得分:-2)

为什么不使用cookie&会话库内置于CI?

关于会话库的好处,它使用加密的cookie。你发现它比你做的更好。