在 Firefox 中禁用跨域 Web 安全

问题描述 投票:0回答:10

在 Firefox 中,如何执行与 Chrome 中的

--disable-web-security
等效的操作。这个问题已经被发布了很多次,但从来没有一个真正的答案。大多数是附加组件的链接(其中一些在最新的 Firefox 中不起作用或根本不起作用)和“您只需要在服务器上启用支持”。

  1. 这是临时测试。我知道安全隐患。
  2. 我无法在服务器上打开 CORS,尤其是我永远无法允许 localhost 或类似的服务。
  3. 一个标志、设置或其他东西会比插件好得多。我也尝试过:http://www-jo.se/f.pfleger/forcecors,但一定有问题,因为我的请求返回完全为空,但 Chrome 中的相同请求返回正常。

再次强调,这仅用于推送到产品之前的测试,然后产品将位于允许的域中。

security firefox cross-domain cors
10个回答
53
投票

几乎在任何地方,人们都会提到 about:config 和 security.fileuri.strict_origin_policy。有时还有网络。http.refere.XOriginPolicy。

对我来说,这些似乎都没有任何效果。

此评论意味着 Firefox 中没有内置方法可以执行此操作(截至 2/8/14)。


24
投票

this 答案中我知道了 CORS Everywhere Firefox 扩展,它对我有用。它创建 MITM 代理拦截标头以禁用 CORS。 您可以在addons.mozilla.org此处找到该扩展。


18
投票

查看我的插件,它适用于最新的 Firefox 版本,具有漂亮的 UI 并支持 JS 正则表达式:https://addons.mozilla.org/en-US/firefox/addon/cross-domain-cors

更新:我只是为此添加了 Chrome 扩展 https://chrome.google.com/webstore/detail/cross-domain-cors/mjhpgnbimicffchbodmgfnemoghjakai


8
投票

您所指的Chrome设置是禁用同源策略。

这个主题也涵盖了这一点: 禁用 Firefox 同源策略

关于:配置 -> security.fileuri.strict_origin_policy -> false


4
投票

可以做到,但没那么容易。

没有与 --disable-web-security 等效的 Firefox 选项。 当无法修改 Web 服务器和浏览器时,有用的方法是使用 Fiddler 自动修改 Web 响应,以便它们具有正确的标头,并且 CORS 不再是问题。 您可以将 Fiddler 视为系统范围的请求拦截器,可以修改任何请求/响应。

步骤是:

  1. 下载并打开fiddler。

  2. 如果使用 https,请转到菜单“工具”->“选项”->“Https”,然后勾选“捕获和解密 https”选项

  3. 进入菜单“规则”->“自定义规则”。修改 OnBeforeResponseFunction 使其如下所示,然后保存:

     static function OnBeforeResponse(oSession: Session) {
        //....
        oSession.oResponse.headers.Remove("Access-Control-Allow-Origin");
        oSession.oResponse.headers.Add("Access-Control-Allow-Origin", "*");
        //...
     }
    

    这将使每个 Web 响应都具有 Access-Control-Allow-Origin: * 标头。

  4. 这仍然不起作用,因为 OPTIONS 预检将通过并导致请求在我们的上述规则有机会修改标头之前被阻止。 因此,为了解决这个问题,在 fiddler 主窗口的右侧有一个 AutoResponder 选项卡。 添加新规则和响应: 方法:选项 https://yoursite.com/ 自动回复:*CORSPreflightAllow 并勾选框:“启用规则”和“不匹配的请求传递”。

参考下图:


1
投票

自 2016 年 9 月起禁用 CORS 的最佳 Firefox 插件:https://github.com/fredericlb/Force-CORS/releases 您甚至可以通过推荐人(网站)进行配置。


0
投票
about:config

,然后 输入:

content.cors.disable
,然后将
false
值应用于此属性。

Mozilla CORS 文档


-1
投票

例如,PhantomJS是一个浏览器自动化引擎,它支持跨域安全停用。

phantomjs.exe --web-security=no script.js

请参阅我的其他评论:
绕过同源策略访问嵌套 iframe 的用户脚本


-2
投票
acceptInsecureCerts: true

设置:


firefox: { desiredCapabilities: { browserName: 'firefox', alwaysMatch: { // Enable this if you encounter unexpected SSL certificate errors in Firefox acceptInsecureCerts: true, 'moz:firefoxOptions': { args: [ // '-headless', // '-verbose' ], } } } },


-3
投票
Mozilla 文档

,您可以通过更改键的值来更改 CORS 设置 content.cors.disable 为此,请先转到浏览器并在地址栏中输入

about:config
,如

 所示
单击接受风险并继续,因为您位于此堆栈溢出页面,我们假设您了解所承担的风险。
您将看到一个包含用户变量的页面。在此页面上,只需搜索键 

content.cors.disable


您不必输入 true

false

值,只需点击屏幕最右侧的切换按钮,它就会更改值。

    

© www.soinside.com 2019 - 2024. All rights reserved.