【发布时间】:2013-10-27 06:06:37
【问题描述】:
我有一个允许用户登录的网络应用程序。当用户单击注销按钮时,我取消设置所有 POST 变量并清除所有包含会话的 cookie。但是,当我按下后退按钮时,所有 POST 变量仍然存在,最后登录的页面仍然出现,并且在 user-cookies 中生成了一个新会话。
我检查了所有的标头,例如 no-cache 和 must-revalidate ,但仍然发生同样的情况。
POST 数据仍然存在,这表明该页面正在从“浏览器历史记录”加载。
我知道我的问题有一个完美的解决方案,因为许多 Web 应用程序都这样做。我想知道大公司是怎么做的。必须有一个标准的方法,它可以像魅力一样发挥作用。
PS:使用 Javascript 不是一个选项。也许使用 JS,我可以做一些事情来阻止加载,但我不想这样做,因为很多用户可能已经禁用了 JS。我也不想禁用浏览器的后退按钮和刷新功能,某些应用程序会这样做。
【问题讨论】:
-
如何提交登录表单?使用 GET 还是 POST?使用 POST 时,浏览器通常会询问是否可以重新发布表单数据。
标签: php cookies browser-cache browser-history cache-control