首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么Firefox不总是为POST请求发送HTTP Origin header?

为什么Firefox不总是为POST请求发送HTTP Origin header?
EN

Stack Overflow用户
提问于 2015-03-13 22:26:50
回答 2查看 4.1K关注 0票数 15

https://www.drupal.org/node/1803712上,我正在探索HTTP源检查作为Drupal的CSRF保护的想法

现在,我正在测试Origin header如何通过POST请求到达,但是Firefox不会在用户登录表单提交时发送Origin header。Chrome和Chrome工作得很好,它们发送Origin头。

Firefox版本为36.0.1。我还测试了一个干净的Firefox安装,因为我认为我的一些浏览器插件可能会抑制Origin头,但没有运气-那里也没有Origin头。

有没有文档页面描述Firefox何时发送Origin头以及何时没有?

EN

回答 2

Stack Overflow用户

发布于 2016-02-09 19:18:12

还没有实现。这里有一个讨论:https://bugzilla.mozilla.org/show_bug.cgi?id=446344

票数 6
EN

Stack Overflow用户

发布于 2018-04-26 03:40:07

火狐的默认设置是不发送HTTP_ORIGIN。

原因是,如果启用了network.http.sendOriginHeader配置变量(可通过about:config访问),则会导致某些移动Firefox版本挂起。(有关详细信息,请参阅https://developer.mozilla.org/en-US/Firefox/Experimental_features#Security和Marco的comment https://bugzilla.mozilla.org/show_bug.cgi?id=446344提供的链接。)

有建议默认启用FF发送HTTP_ORIGIN,但待办事项列表很长(参见https://bugzilla.mozilla.org/show_bug.cgi?id=1424076)。因此,即使没有支持HTTP_ORIGIN的Javascript代码,FF也可能需要数年时间才能发送CSRF。

一些FOSS OSes默认情况下将其FF端口预配置为发送HTTP_ORIGIN。顺便说一句,如果不使用Javascript显式启用HTTP_ORIGIN,MS Edge也不会发送CSRF。

出于这个原因,我为我的站点实现了一个安全设置,它允许用户禁止来自不提供HTTP_ORIGIN的浏览器的POST事务。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29034776

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档