协慌网

登录 贡献 社区

在 Chrome 中停用相同的来源政策

有没有办法在 Google 的Chrome浏览器上禁用同源策略

这是严格的开发,而不是生产用途。

答案

是的。对于 OSX,打开终端并运行:

$ open -a Google\ Chrome --args --disable-web-security --user-data-dir

OSX 上的 Chrome 49 + 上需要 --user-data-dir

对于 Linux 运行:

$ google-chrome --disable-web-security

此外,如果您尝试使用 AJAX 或 JSON 等开发目的访问本地文件,也可以使用此标志。

-–allow-file-access-from-files

对于 Windows,请进入命令提示符并进入 Chrome.exe 所在的文件夹并键入

chrome.exe --disable-web-security

这应该禁用相同的源策略,并允许您访问本地文件。

更新:对于 Chrome 22+,系统会显示一条错误消息:

您使用的是不受支持的命令行标志: - disable-web-security。稳定性和安全性将受到影响

但是,您可以在开发时忽略该消息。

关闭 chrome(或 chrome)并使用--disable-web-security参数重新启动。我刚刚对此进行了测试,并验证了我可以访问 iframe 的内容,其中 src =“http://google.com” 嵌入在 “localhost”(在 chrome 5 / ubuntu 下测试)的页面中。对我来说,确切的命令是:

注意:在运行命令之前杀死所有 chrome 实例

chromium-browser --disable-web-security --user-data-dir="[some directory here]"

浏览器会在第一次打开时警告您 “您正在使用不受支持的命令行”,您可以忽略它。

来自铬源:

// Don't enforce the same-origin policy. (Used by people testing their sites.)
const wchar_t kDisableWebSecurity[] = L"disable-web-security";

在 Chrome 48 之前,您可以使用:

chromium-browser --disable-web-security

对于 Windows 用户:

在我看来,此处接受的解决方案的问题是,如果您已经打开 Chrome 并尝试运行它,则无法运行。

但是,在研究这个时,我发现了一个关于超级用户的帖子, 是否可以同时运行带有和不带网络安全的 Chrome?

基本上,通过运行以下命令(或使用它创建一个快捷方式并通过它打开 Chrome)

chrome.exe --user-data-dir="C:/Chrome dev session" --disable-web-security

您可以在打开其他 “安全” 浏览器实例并正常工作的同时打开一个新的 “不安全”Chrome 实例。 重要提示 :每当您第二次打开窗口时,删除 / 清除C:/Chrome dev session文件夹--disable-web-security不起作用。因此,您无法保存更改,然后再将其作为第二个不安全的 Chrome 实例再次打开,并使用--disable-web-security