Php 基于Cookie的身份验证注销不起作用
我正在构建一个基于cookie的会话机制,该机制具有一个抽象类会话,可以扩展该类会话以生成多个cookie会话实例,以适应不同的用途和复杂性 我还有一个Auth类,它处理权限以及用户的实际登录和注销。Auth类需要的会话类或子类才能运行 到目前为止一切都很好,我可以让用户登录,如果经过一定时间,ip地址不匹配,我也可以让用户注销 每次页面加载都会读取cookie,检查是否存在不一致,并根据xyz销毁或更新cookie。销毁脚本将cookie上的时间设置为现在负,并从auth库中删除已添加的任何用户数据。这是因为我已经登录了几分钟,然后点击刷新,cookie就会被破坏,我会返回到登录屏幕 但是,如果我想通过单击按钮将其注销,则销毁脚本不起作用,即我可以在顶部回显原始用户数据,运行注销脚本,该脚本回显注销并运行所有功能,无任何错误等,但如果我获得用户cookie,则仍然相同。我不明白这是如何工作的自动检查,但不是当用户点击注销按钮 下面是我的sessionDestroy函数Php 基于Cookie的身份验证注销不起作用,php,codeigniter,session,cookies,Php,Codeigniter,Session,Cookies,我正在构建一个基于cookie的会话机制,该机制具有一个抽象类会话,可以扩展该类会话以生成多个cookie会话实例,以适应不同的用途和复杂性 我还有一个Auth类,它处理权限以及用户的实际登录和注销。Auth类需要的会话类或子类才能运行 到目前为止一切都很好,我可以让用户登录,如果经过一定时间,ip地址不匹配,我也可以让用户注销 每次页面加载都会读取cookie,检查是否存在不一致,并根据xyz销毁或更新cookie。销毁脚本将cookie上的时间设置为现在负,并从auth库中删除已添加的任何用
protected function sessionDestroy($cookieName) {
setcookie(
$cookieName,
addslashes(serialize(array())),
(time() - 3600),
0
);
}
我知道destroy这个词对cookie不好,但你知道我的意思……希望你能使用CI内置的cookie&session库
会话库的好处在于它使用了加密的cookies。你发现这是一个比你所做的要好得多的解决方案。-1建议另一个“完整的解决方案”。他希望有自定义会话管理。他仍然可以使用ci库,这将减少他必须照看的“垃圾”。KISS是你的朋友。他在问为什么他的解决方案不起作用。建议放弃它去做其他事情不是一个可行的答案。我试图教育他,如果一个框架提供了一个帮助,使工作更容易,他应该使用它,它很可能会解决他的问题。