ruby-on-rails - Rails CSRF 过期时间
问题描述
我遇到了一个问题,即一些在我的网站上闲置一段时间的用户在提交发布请求时收到 CSRF 错误。我不想禁用 Rails 中的安全功能,因为它很重要,所以我想显示一个页面超时警报。但是我在任何地方都找不到 Rails 默认超时是什么authenticity_token
。有人可以指出我正确的方向吗?
提前致谢。
更新
当我查看我网站的 cookie 时,Chrome 显示会话 cookie 在browsing session ends
. 如果是这种情况,并且我收到 CSRF 错误的原因是由于会话过期,那么如果浏览器从未关闭,它如何过期?
解决方案
CSRF 保护的默认行为是使用基于 cookie 的会话,并且 cookie 在会话到期时到期。听起来会话即将到期,导致 CSRF 错误。
推荐阅读
- c++ - 如何在 Qt5 中使用带有模型/视图/委托的自定义小部件?
- python - TensorFlow ValueError:无法将 NumPy 数组转换为张量(不支持的对象类型列表)
- sql - 在 Redshift 物化视图中使用 current_date
- assembly - 你能在 MARS 软件中将代码从 c++ 传递到汇编语言吗?
- sql - 存储过程插入和更新语句工作但受影响的行是-1?
- inno-setup - Inno Setup - 将自定义按钮与取消按钮对齐
- kubernetes - Kubernetes:在应用命令中指定集群上下文
- mysql - 是否可以使用公共 IP 将 WordPress 网站(托管在 GoDaddy 上)连接到 Google Cloud Platform 实例?
- session - HttpServletRequest 获取新会话
- flask - Flask/Connexion 应用 XHR PUT TypeError:缺少 1 个必需的位置参数