使用Rails,我如何使浏览器的缓存过期?

时间:2009-04-14 22:35:08

标签: ruby-on-rails authentication browser caching

我的Rails应用程序和浏览器缓存存在问题:当用户退出网站的经过身份验证的部分时,他们仍然可以使用浏览器上的后退按钮查看经过身份验证的页面。我不想允许这个。

如何使缓存过期并强制重新加载。

谢谢

2 个答案:

答案 0 :(得分:2)

以下标题应该这样做。无论您尝试保护哪个页面,请将其添加到那里。

Expires: Sat, 26 Jul 1997 05:00:00 GMT
Last-Modified: "now"
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache

显然,现在需要是动态的。

答案 1 :(得分:1)

为了安全起见,您可能还想指定

<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">
<META HTTP-EQUIV="EXPIRES" CONTENT="0">
<META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE">

在你的页面中。