【发布时间】:2017-05-19 20:24:29
【问题描述】:
我们的错误日志偶尔会包含导致ActionController::InvalidAuthenticityToken 错误的合法表单提交。
我的假设是存储在用户会话 cookie 中的 CSRF 令牌在表单加载后但在提交之前的某个时间点发生了变化。这会导致 POSTed 令牌与 cookie 中的令牌不匹配,从而导致此错误。
鉴于 Rails 会话 cookie 仅在浏览会话结束时(即 Web 浏览器关闭时)过期,有哪些方法可以在不关闭浏览器的情况下更改此 cookie(及其包含的 CSRF 令牌)?
我们使用 cookie 来存储会话数据,这是 Rails 的默认行为。
【问题讨论】:
标签: ruby-on-rails csrf