首页 > 解决方案 > Rails CSRF 过期时间

问题描述

我遇到了一个问题,即一些在我的网站上闲置一段时间的用户在提交发布请求时收到 CSRF 错误。我不想禁用 Rails 中的安全功能,因为它很重要,所以我想显示一个页面超时警报。但是我在任何地方都找不到 Rails 默认超时是什么authenticity_token。有人可以指出我正确的方向吗?

提前致谢。

更新

当我查看我网站的 cookie 时,Chrome 显示会话 cookie 在browsing session ends. 如果是这种情况,并且我收到 CSRF 错误的原因是由于会话过期,那么如果浏览器从未关闭,它如何过期?

标签: ruby-on-railsrubyruby-on-rails-5

解决方案


CSRF 保护的默认行为是使用基于 cookie 的会话,并且 cookie 在会话到期时到期。听起来会话即将到期,导致 CSRF 错误。


推荐阅读