Ruby on rails 使用Firefox和Desive获取CSRF错误
由于某些原因,我的应用程序无法登录firefox。尽管所有标记都存在并已成功提交,但它会抛出一个CSRF错误。登录也适用于任何其他浏览器 我找到了一个关于变化的答案:Ruby on rails 使用Firefox和Desive获取CSRF错误,ruby-on-rails,ruby,firefox,devise,csrf,Ruby On Rails,Ruby,Firefox,Devise,Csrf,由于某些原因,我的应用程序无法登录firefox。尽管所有标记都存在并已成功提交,但它会抛出一个CSRF错误。登录也适用于任何其他浏览器 我找到了一个关于变化的答案: Learn::Application.config.session\u存储:cookie\u存储,键:'\u Learn\u session',域::全部 到 Learn::Application.config.session\u存储:cookie\u存储,键:'\u Learn\u session' 在config/init
Learn::Application.config.session\u存储:cookie\u存储,键:'\u Learn\u session',域::全部
到
Learn::Application.config.session\u存储:cookie\u存储,键:'\u Learn\u session'
在config/initializers/session_store.rb
我尝试了这两种方法(最初没有使用domain::all
),但两种方法都不起作用
参考了我的问题,但答案对我的情况没有帮助
为了使情况进一步复杂化,我在没有启用CSRF的情况下进行了测试,该应用程序只是在没有失败通知的情况下阻止登录
任何帮助都将不胜感激 你检查过你的饼干吗
今天早些时候,我遇到了同样的问题,结果是我的cookie配置出现了问题。由于您的应用程序在未启用CSRF的情况下仍然无法工作,我认为您的登录\u控制器或会话\u存储存在漏洞。仔细阅读
session\u store.rb
和您的\u环境.rb
,也许您可以找到问题所在。哇。我又一次做到了这一点(见对蒂姆答案的评论),所以我真的在为我未来的自己写这个答案。具体来说,Firefox阻止了来自localhost的Cookie
如果我取消阻止cookies,一段时间后Firefox会自动再次阻止它们,要求它们被取消阻止。我还不清楚为什么会发生这种情况,但至少解决办法是显而易见的(Chrome)。在登录请求被拒绝之前,您是否可以添加相关的HTML片段(元标记和/或表单定义)和控制台上显示的
params
散列?也许控制器中的之前的过滤器也是相关的。哇!事实上,我在firefox中关闭了cookies,并花了4个小时试图追踪应用程序中的问题。这足以提醒我,我可能应该检查一下。谢谢我做了完全相同的事情,以某种方式阻止了来自localhost的cookies。