ruby-on-rails - 如何在用户注销后清除浏览器缓存以防止通过 'Back' 按钮访问私有(private)信息

标签 ruby-on-rails authentication http-headers devise browser-cache

用户注销后,如果他们点击后退按钮,他们可以回到他们在注销之前的最后一页。

我正在开发的应用程序通常会在公共(public)计算机(例如图书馆或计算机实验室)上使用,我想阻止用户看到以前用户 session 中的任何内容。

我在 Rails 3 和 Devise 上,顺便说一句,虽然这个问题似乎会出现任何框架或登录机制。

是使用 header /元标记来禁用浏览器缓存的解决方案吗?有人知道解决此问题的 gem 或教程吗?

期待您的建议。

最佳答案

在应用程序 Controller 中使用以下代码..它对我有用。
希望这会帮助你。
谢谢!!

代码

before_filter :set_cache_buster

def set_cache_buster
   response.headers["Cache-Control"] = "no-cache, no-store, max-age=0, must-revalidate"
   response.headers["Pragma"] = "no-cache"
   response.headers["Expires"] = "Fri, 01 Jan 1990 00:00:00 GMT"
end

关于ruby-on-rails - 如何在用户注销后清除浏览器缓存以防止通过 'Back' 按钮访问私有(private)信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4120289/

相关文章:

ruby-on-rails - Ruby on Rails 使用 View 助手中的变量在 View 中动态生成字段名称

ruby-on-rails - Ruby on Rails ActiveRecord,其中属性不为空

java - 绕过登录屏幕

php登录脚本中只有一个用户在变量中设置

ios - Alamofire 在接收所有数据之前验证 header (完整主体)

ruby-on-rails - 删除注释结果为未定义方法 `comment_path' ?

ruby-on-rails - 通过 Ember.js 应用程序将图像上传到 Rails 服务器

authentication - Apache Shiro - 使用 cn 以外的属性进行身份验证?

http - 避免缓存 http 响应

json - 如何在httpkit中将Content-Type设置为application/json