当前位置: 首页 > 知识库问答 >
问题:

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

李宜然
2023-03-14

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

现在我正在测试Origin头是如何通过POST请求到达的,但是Firefox不会在用户登录表单提交上发送Origin头。Chromium和Chrome工作正常,他们发送Origin头。

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

有没有一个留档页面描述火狐何时发送原点标题,何时不发送?

共有2个答案

曾鸿振
2023-03-14

Firefox上的默认设置是不发送HTTP_源代码。

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

有人建议默认情况下启用FF发送HTTP_源,但TODO列表很长(请参阅https://bugzilla.mozilla.org/show_bug.cgi?id=1424076). 因此,即使没有启用CSRF的Javascript代码,FF通常也需要几年才能发送HTTP_源代码。

一些FOSS操作系统将其FF端口预先配置为默认情况下发送HTTP_ORIGIN。顺便说一句,MS Edge也不会在没有使用Javascript显式启用CSRF的情况下发送HTTP_ORIGIN。

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

严易安
2023-03-14

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

 类似资料:
  • 请求方式: "|3|2|url,content|\r" 参数: url 设置Post请求的url链接 content post请求的数据 返回值: "|3|code|data|\r" 参数: code http请求返回的成功或者错误码 成功:code = 200 获取数据失败:code = -1 http请求字段错误:code = 1 data http请求返回的数据 Arduino样例: sof

  • 一个简单的页面: app\fetch-demo\page.js 浏览器控制台返回两次同样的结果: 为什么会这样?

  • 我在firefox web Browser中使用Rest Client add on。我想测试一个处理HTTP POST请求并使用JSON的web服务。我如何使用Rest Client测试它? 如果在请求正文中添加json,将得到一个*HTTP 415不受支持的媒体类型错误*。 这样做的正确方法是什么?

  • 问题内容: 我正在使用HttpClient发出发布请求。我回到405方法不被允许。在提琴手中捕获轨迹时,它作为GET而不是POST发出! 我知道异步/等待问题。这是显示问题的简化示例。 是否存在某种可能会影响此的web.config或machine.config设置?其他请求(通过RestSharp发送)正确发送了帖子 这是提琴手捕获的东西。在提琴手中运行跟踪也会返回405(如预期)。手动将其切换

  • 我正在创建自己的API(使用express)和react.js应用程序。但是,当我从react应用程序发送数据时,服务器不会检索数据。这是我的密码: 发布请求客户端: 服务器端POST请求检索: 你知道我怎么解决这个问题吗?

  • 我在网上找到了这个脚本: 但我不明白如何与PHP一起使用它,也不明白params变量内部的内容是什么,也不明白如何使用它。我能帮个忙吗?