在Firefox中,如何在Chrome中执行相当于--disable-web-security
的操作。这已经发布了很多,但从来没有一个真正的答案。大多数是附加组件的链接(其中一些在最新的Firefox中不起作用或根本不起作用)和“你只需要在服务器上启用支持”。
同样,这仅用于在推送到prod之前进行测试,然后,这将是允许的域。
答案 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
答案 3 :(得分:3)
答案 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不再是问题。
步骤是:
打开提琴手。
如果在https上转到菜单“工具”->“选项”->“ Https”,然后勾选“捕获并解密https”选项
转到菜单规则->自定义规则。修改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:*标头。
这仍然不起作用,因为OPTIONS预检将通过并导致请求被阻塞,而我们的上述规则才有机会修改标头。 因此,要解决此问题,在提琴手主窗口的右侧有一个“自动响应”选项卡。 添加新规则和响应: 具有自动响应的 METHOD:OPTIONS https://yoursite.com/ :* CORSPreflightAllow 并勾选以下框:“启用规则”和“不匹配的请求传递”。
请参见下图以供参考:
答案 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'
],
}
}
}
},