我想通过 iframe 中的 AJAX 请求在我的 Rails 4 应用程序中创建 session 。
在 iframe 中,我包含了一个具有属性 remote: true
的新 session 的表单。像往常一样,包括 <%= token_tag %>
在表单体以及 <%= csrf_meta_tags %>
在布局的头部。
Chrome 发布此表单并创建 session 没有问题。在相同条件下,Safari 会导致 CSRF 异常。
为什么会发生这种情况,我该怎么做才能阻止它?据我了解,这不是 CSRF 必不可少的情况,因为没有 session 可以劫持,但我仍然担心将其关闭。
Chrome 版本:31.0.1650.63
Safari 版本:7.0.1
最佳答案
看来这就是著名的“第三方 cookie”问题。 Safari 默认禁用它们。
更多:How do Third-Party "tracking cookies" work?
关于ruby-on-rails - 为什么 Safari 会导致 Rails CSRF 异常,而 Chrome 不会?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21033364/