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


当前回答

对于Selenium Webdriver,在这种情况下,您可以使用适当的参数(或“开关”)让Selenium启动Chrome。

 @driver = Selenium::WebDriver.for(:Chrome, { 
       :detach => false,
       :switches => ["--disable-web-security"]
    })

其他回答

关闭chrome(或chrome)并使用--disable web安全参数重新启动。我刚刚测试了这个,并验证了我可以使用src=“”访问iframe的内容http://google.com嵌入在“localhost”(在chromium 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

在Linux-Ubuntu上,要同时运行正常会话和不安全会话,请运行以下命令:

google-chrome  --user-data-dir=/tmp --disable-web-security

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

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

--OSX上的Chrome 49+需要用户数据目录

对于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版本103.0.5060.134(官方版本)(64位)

windows:单击开始按钮,然后复制粘贴以下内容(根据您的喜好更改D:\temp)。:

chrome.exe  --disable-site-isolation-trials --disable-web-security --user-data-dir="D:\temp"

Linux:启动终端,然后运行以下命令(根据需要更改~/tmp目录)

google-chrome --disable-site-isolation-trials --disable-web-security --user-data-dir="~/tmp"

注意:此解决方案将在独立的沙盒中启动chrome,并且不会影响主chrome配置文件。

禁用此标志为chrome-chrome://flags/#reduced-引用者粒度它应该起作用