注销后的浏览器后退按钮

时间:2013-07-22 04:57:29

标签: php caching logout

如何在注销后阻止浏览器使用页面的缓存副本?

当用户注销时,他们可以使用后退按钮访问之前的页面。

我知道我们无法禁用后退按钮(根据SO答案)。

目前我在不同场景中有大量页面,所以我无法修改每一页。

我尝试了什么

  1. 设置过期标题(我是否需要在每个页面上设置此项?如果我这样做,浏览器会缓存页面内容吗?(因为我需要浏览器在用户登录时缓存内容))
  2. 我已经有一个投票系统(但仍有延迟检测)
  3. 基于Javascript的解决方案(可行,但用户仍然可以使用历史记录选项进行导航或长按后退按钮)
  4. 我真的被困在这里,你能帮我解决一下这个问题吗?

2 个答案:

答案 0 :(得分:5)

我认为此代码可以帮助您,在父控制器构造函数中使用此代码。

//Log out Back
header("Cache-Control: no-cache, no-store, must-revalidate"); // HTTP 1.1.
header("Pragma: no-cache"); // HTTP 1.0.
header("Expires: 0"); // Proxies.

答案 1 :(得分:0)

这是所有链接的答案。

http://www.codeproject.com/Tips/549347/Browser-Back-Button-Issue-After-Logout

我尝试了所有解决方案,但浏览器不兼容。

更好的方法是进行Ajax post或在页面加载检查会话var null是否。

此提示还有限制,当用户单击浏览器的后退按钮时,由于执行WebMethod,后页显示1秒或半秒。但在所有版本的浏览器中都可以使用!!