在Firefox中禁用跨域Web安全性

时间:2013-07-17 23:19:29

标签: security firefox cross-domain cors

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

  1. 这是暂时的测试。我知道安全隐患。
  2. 我无法打开服务器上的CORS,特别是我永远无法允许localhost或类似的。
  3. 标志,设置或其他东西比插件要好很多。我也试过了http://www-jo.se/f.pfleger/forcecors,但是由于我的请求完全是空的,所以一定有问题,但Chrome中的相同请求可以恢复正常。
  4. 同样,这仅用于在推送到prod之前进行测试,然后,这将是允许的域。

8 个答案:

答案 0 :(得分:19)

几乎无处不在,人们都会参考about:config和security.fileuri.strict_origin_policy。有时也是network.http.refere.XOriginPolicy。

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

This comment表示Firefox中没有内置方法可以执行此操作(截至2014年2月8日)。

答案 1 :(得分:8)

您引用的Chrome设置是禁用相同的原始政策。

此线程也涵盖了这一点: Disable firefox same origin policy

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

答案 2 :(得分:5)

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

enter image description here

答案 3 :(得分:3)

this回答我知道Firefox扩展程序,它适用于我。 您可以找到扩展程序here

答案 4 :(得分:0)

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

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

答案 5 :(得分:0)

虽然问题提及Chrome和Firefox,但还有其他软件没有跨域安全性。我提到那些忽视这种软件存在的人。

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

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

请参阅我的另一条评论:Userscript to bypass same-origin policy for accessing nested iframes

答案 6 :(得分:0)

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

步骤是:

  1. 打开提琴手。

  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预检将通过并导致请求被阻塞,而我们的上述规则才有机会修改标头。 因此,要解决此问题,在提琴手主窗口的右侧有一个“自动响应”选项卡。 添加新规则和响应: 具有自动响应的 METHOD:OPTIONS https://yoursite.com/ :* CORSPreflightAllow 并勾选以下框:“启用规则”和“不匹配的请求传递”。

请参见下图以供参考:

enter image description here

答案 7 :(得分:-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'
            ],
          }
        }
      }
    },