为什么Safari会导致Rails CSRF异常?Chrome不是?

djb*_*djb 6 safari ajax iframe ruby-on-rails csrf

我想通过iframe中的AJAX请求在我的Rails 4应用程序中创建会话.

在iframe中,我remote: true像往常一样包含了一个带有属性的新会话<%= token_tag %>的表单,并包含在表单主体和<%= csrf_meta_tags %>布局的头部.

Chrome发布此表单并创建会话没有问题.在相同条件下,Safari会导致CSRF异常.

为什么会发生这种情况,我该怎么做才能阻止它呢?据我了解,这不是CSRF必不可少的情况,因为没有会议劫持,但我仍然担心要将其关闭.

Chrome版本:31.0.1650.63

Safari版本:7.0.1

djb*_*djb 3

看来这就是著名的“第三方cookies”问题。Safari 默认禁用它们。

更多:第三方“跟踪 cookie”如何工作?