136

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

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

同样,这仅用于在推送到 prod 之前进行测试,然后将在允许的域上。

4

8 回答 8

44

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

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

此评论暗示 Firefox 中没有内置方式来执行此操作(截至 2/8/14)。

于 2014-10-08T16:54:37.827 回答
14

这个答案中,我知道了一个 CORS Everywhere Firefox 扩展,它对我有用。它创建 MITM 代理拦截标头以禁用 CORS。你可以在addons.mozilla.org这里找到扩展。

于 2015-05-07T14:05:03.110 回答
13

查看我的插件,它适用于最新的 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

在此处输入图像描述

于 2017-05-21T04:27:43.680 回答
8

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

这也包含在此线程中: 禁用 Firefox 同源策略

about:config -> security.fileuri.strict_origin_policy -> false

于 2013-10-16T14:18:53.243 回答
2

我无法找到与 --disable-web-security 等效的 Firefox 选项或为我执行此操作的插件。在一些无法修改 Web 服务器的测试场景中,我真的需要它。有什么帮助是使用 Fiddler 自动修改 Web 响应,以便它们具有正确的标头,并且 CORS 不再是问题。

步骤是:

  1. 打开提琴手。

  2. 如果在 https 上,请转到菜单工具 -> 选项 -> Https 并勾选 Capture & Decrypt 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 预检将通过并导致请求在我们的上述规则有机会修改标头之前被阻止。所以要解决这个问题,在提琴手主窗口的右侧有一个自动回复选项卡。添加新规则和响应: METHOD:OPTIONS https://yoursite.com/ 自动响应:* CORSPreflightAllow 并勾选框:“启用规则”和“不匹配的请求直通”。

请参阅下图以供参考:

在此处输入图像描述

于 2020-10-27T16:05:08.157 回答
1

截至 2016 年 9 月禁用 CORS 的最佳 Firefox 插件:https ://github.com/fredericlb/Force-CORS/releases

您甚至可以通过推荐人(网站)对其进行配置。

于 2016-09-09T20:49:39.723 回答
-1

虽然问题提到了 Chrome 和 Firefox,但还有其他软件没有跨域安全性。我为那些忽略此类软件存在的人提到它。

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

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

请参阅我的其他评论:Userscript to bypass same-origin policy for accessnested iframes

于 2017-10-06T18:33:05.653 回答
-1

对于在使用 Nightwatch.js (1.3.4) 时发现此问题的任何人, 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'
            ],
          }
        }
      }
    },

于 2020-02-26T08:51:19.683 回答