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


当前回答

在Mac终端上尝试此命令-

open -n -a "Google Chrome" --args --user-data-dir=/tmp/temp_chrome_user_data_dir http://localhost:8100/ --disable-web-security 

它打开了另一个具有禁用安全性的chrome实例,并且不再存在CORS问题。此外,您不再需要关闭其他chrome实例。将localhost URL更改为您的URL。

其他回答

我有时会使用这个方法,将本地主机前端站点发布到本地主机后端API(例如,React到旧的.NET API)。我在Windows 10桌面上创建了一个单独的快捷方式,这样它就不会用于正常浏览,只用于本地调试。我执行了以下操作:-

右键单击桌面,添加新快捷方式将目标添加为“[PATH_TO_CHROME]\CHROME.exe”--禁用web安全单击“确定”。

这个浏览器加载时,你会收到一个警告,说它不安全,只需注意你在它上的浏览器。我倾向于在桌面上重命名这个新的快捷方式,用大写字母表示,并将其从我的其他图标上移开,因此它不会与普通的Chrome混淆。

希望这有帮助!

根据奥拉·卡尔森的回答,最好的方法是在不同的会话中打开不安全的Chrome。这样,您就不必担心关闭所有当前打开的选项卡,也可以使用原始的Chrome会话继续安全地上网。

这些批处理文件应该只适用于Windows。

将其放在Chrome_CORS.bat文件中以便于使用

start "" "c:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --user-data-dir="c:/_chrome_dev" --disable-web-security

这张是给Chrome Canary的。金丝雀_ CORS.bat

start "" "c:\Users\%USERNAME%\AppData\Local\Google\Chrome SxS\Application\chrome.exe" --user-data-dir="c:/_canary_dev" --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

有一个名为CORS Toggle的Chrome扩展。

单击此处访问并将其添加到Chrome。

添加后,将其切换到打开位置以允许跨域请求。

是的。对于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。稳定和安全将受到影响。

然而,您可以在开发时忽略该信息。