在 Firefox 中,如何执行与 Chrome 中的
--disable-web-security
等效的操作。这个问题已经被发布了很多次,但从来没有一个真正的答案。大多数是附加组件的链接(其中一些在最新的 Firefox 中不起作用或根本不起作用)和“您只需要在服务器上启用支持”。
再次强调,这仅用于推送到产品之前的测试,然后产品将位于允许的域中。
几乎在任何地方,人们都会提到 about:config 和 security.fileuri.strict_origin_policy。有时还有网络。http.refere.XOriginPolicy。
对我来说,这些似乎都没有任何效果。
此评论意味着 Firefox 中没有内置方法可以执行此操作(截至 2/8/14)。
从 this 答案中我知道了 CORS Everywhere Firefox 扩展,它对我有用。它创建 MITM 代理拦截标头以禁用 CORS。 您可以在addons.mozilla.org或此处找到该扩展。
查看我的插件,它适用于最新的 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
您所指的Chrome设置是禁用同源策略。
这个主题也涵盖了这一点: 禁用 Firefox 同源策略
关于:配置 -> security.fileuri.strict_origin_policy -> false
可以做到,但没那么容易。
没有与 --disable-web-security 等效的 Firefox 选项。 当无法修改 Web 服务器和浏览器时,有用的方法是使用 Fiddler 自动修改 Web 响应,以便它们具有正确的标头,并且 CORS 不再是问题。 您可以将 Fiddler 视为系统范围的请求拦截器,可以修改任何请求/响应。
步骤是:
下载并打开fiddler。
如果使用 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 预检将通过并导致请求在我们的上述规则有机会修改标头之前被阻止。 因此,为了解决这个问题,在 fiddler 主窗口的右侧有一个 AutoResponder 选项卡。 添加新规则和响应: 方法:选项 https://yoursite.com/ 自动回复:*CORSPreflightAllow 并勾选框:“启用规则”和“不匹配的请求传递”。
参考下图:
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'
],
}
}
}
},
,您可以通过更改键的值来更改 CORS 设置 content.cors.disable
为此,请先转到浏览器并在地址栏中输入
about:config
,如 所示
单击接受风险并继续,因为您位于此堆栈溢出页面,我们假设您了解所承担的风险。
您将看到一个包含用户变量的页面。在此页面上,只需搜索键 content.cors.disable
为
您不必输入true
或 false
值,只需点击屏幕最右侧的切换按钮,它就会更改值。