我正在制作登录页面。当我退出时,我清除了cookie。但是当我退出后我按下后退按钮会恢复。我怎样才能避免会话恢复..
答案 0 :(得分:6)
这可能是一种误解。
按 back 按钮时,您很可能在浏览器中看到该页面的缓存版本。这样做不意味着您仍然登录。
尝试刷新上一页。它应该显示登录对话框。
如果您想阻止以这种方式显示页面,here是一种关闭浏览器缓存的方法。
如果你真的保持登录状态,那么就会出现问题。在这种情况下,我们需要看一些代码。
答案 1 :(得分:2)
session_destroy php man page提供了一个快速简便的问题解决方案。
答案 2 :(得分:2)
从评论中看出,您的问题是当您在浏览器上单击“返回”时,浏览器会提示您重新发送POST数据。当然,当您执行此操作时,您只需重新发送登录数据,从而立即将用户重新登录。避免恼人的浏览器提示重新发送POST数据,从而避免重新登录用户的解决方案是使用“重定向后发布”模式。
将登录表单的POST目标设为其他页面 - 不您的登录欢迎页面或其他任何页面。此目标页面处理登录信息,授权,,然后重定向到欢迎页面(成功时)或如果无法进行身份验证,则返回登录页面。
通过这种方式,您将避免浏览器提示和用户重新登录。真正所有表单应该实现此模式,因为它可以带来更好的用户体验并避免像您拥有的那样陷阱经历。
答案 3 :(得分:0)
请尝试以下代码: 通过后退按钮问题恢复的已注销会话已得到解决。
链接:
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past