在 Chrome 中禁用同源策略

Disable same origin policy in Chrome

提问人:Landon Kuhn 提问时间:6/23/2010 最后编辑:Armen MichaeliLandon Kuhn 更新时间:10/19/2023 访问量:3361238

问:

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

JavaScript ajax 谷歌浏览器

评论

1赞 CSSian 12/19/2013
另见 peter.sh/experiments/chromium-command-line-switches,我不确定它的真实性,但它似乎是通过自动化过程产生的集合
2赞 Benjineer 1/7/2015
chromium.org 链接到该页面,因此必须非常合法。peter.sh
4赞 TommyMason 12/26/2015
请注意,禁用 SOP,即使仅用于开发,也是危险的。当您以这种方式启动浏览器时,您可能不仅会打开您的应用程序,还会检查您的邮件,阅读 SO...考虑使用更好的替代方案,例如网络代理,来解决这些问题。例如,通过 proxrox:github.com/bripkens/proxrox
38赞 vanduc1102 3/10/2016
从版本 49 开始,使用此选项--disable-web-security --user-data-dir
3赞 GrayedFox 4/14/2016
对于任何寻求有关如何在开发人员环境中使用咕噜运行服务器执行此操作的建议的人,请参阅以下内容: gist.github.com/Vp3n/5340891

答:

1265赞 Dagg Nabbit 7/5/2010 #1

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

注意:在运行命令之前杀死所有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

评论

1赞 Dmitri R117 11/25/2020
确保该目录存在于 Windows 上。在个人 Users[user]\ 文件夹中创建一个。
8赞 Sprimesson 8/30/2021
从最新版本的 chrome(例如,我有版本 92)开始,“--disable-web-security”是必要的,但还不够。还需要使用“--disable-site-isolation-trials”。请参阅下面@user2576266的最新答案。(请注意,chrome 仍会显示一条警告,指出“--disable-site-isolation-trials”不被理解。它确实有效。
1赞 marek8623 10/27/2021
@AliNakisaee我有版本 95,但“--disable-site-isolation-trials”不起作用。
5赞 mahmoud nezar sarhan 1/2/2022
对于 Chrome 版本 96,请使用 ...只需添加,请看这个"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --disable-web-security --disable-gpu --disable-features=IsolateOrigins,site-per-process --user-data-dir="C://ChromeDev"--disable-features=IsolateOrigins,site-per-process
1196赞 ectype 5/22/2011 #2

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

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

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

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

评论

28赞 Ryan H. 3/11/2021
我必须在 as in 之后添加一个路径才能使其工作 (Chrome 88.0...--user-data-dir--user-data-dir="tmp"
0赞 Shimi Shimson 3/28/2021
Chrome 89.0 - 我还必须添加,否则它将无法正常工作--user-data-dir="[PATH]"
3赞 FooBar 5/17/2021
如果您想要现有的用户目录,在 MacOS 上,您可以在以下位置找到它: .在终端中键入 或 以查找您的用户名。--user-data-dir="/Users/<YOUR_USER>/Library/ApplicationSupport/Google/Chrome"whoamipwd -P
0赞 Consta Gorgan 7/31/2021
C:\Program Files\Google\Chrome\Application- Chrome 在 Windows 上的默认安装路径(截至 2021 年 7 月)。
0赞 ANIK ISLAM SHOJIB 9/30/2021
您需要指定 2 个路径,一个用于 chrome.exe,另一个用于 chrome 将存储的数据目录,使 data-dir 具有写入权限“C:\Program Files (x86)\Google\Chrome\Application\chrome.exe” --disable-site-isolation-trials --disable-web-security --user-data-dir=“D:\temp”
20赞 mikelupo 3/27/2012 #3

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

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

评论

1赞 mikelupo 3/27/2012
这是 disable-web-security 的两个破折号。它让我的浏览器,它使它们看起来像一个 looong dash。
0赞 Alex Filatov 11/14/2018
我写了一篇关于没有 cors 的 chrome 的小文章
14赞 chhantyal 6/15/2012 #4

如果您在 Linux 上使用 Google Chrome,则以下命令有效。

google-chrome  --disable-web-security
53赞 molokoloco 8/27/2013 #5

对于 Windows...在桌面上创建 Chrome 快捷方式。
右键单击>属性>快捷方式
编辑“目标”路径:

"C:\Program Files\Google\Chrome\Application\chrome.exe" --args --disable-web-security

(将“C:....\chrome.exe”更改为您的 chrome 所在的位置)。

et voilà :)

评论

0赞 molokoloco 8/27/2013
截至今天 08/27/20013 它对我有用,允许我在自己的本地主机上做 Ajax。
0赞 khoailang 6/28/2016
在 Canary 版本 53 中得到“您正在使用不受支持的命令行标记:--disable-web-security”
4赞 lassombra 1/10/2017
@khoailang您仍然可以使用该开关。这一警告是谷歌向不安全感宣战的一部分(这是一件好事)。此外,从版本 55+ 开始,您还需要使用 --user-data-dir=<此处的其他目录>因此 Google 不希望您将不安全的规则与正常配置文件混合在一起。
0赞 Long Doan 12/17/2021
谢谢,我忘记了我的Chrome不在路径中,这意味着我必须将其定向到其文件夹。
665赞 Ola Karlsson 10/11/2013 #6

对于Windows用户:

在我看来,这里接受的解决方案的问题在于,如果您已经打开了 Chrome 并尝试运行该命令,它将无法正常工作。chrome.exe --disable-web-security

但是,在研究这个问题时,我看到了一篇关于超级用户的帖子,是否可以同时运行有和没有网络安全的Chrome?

基本上,您需要添加到命令中并像这样运行它(或者使用它创建一个快捷方式并通过它运行一个新的 Chrome 实例)

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

这将打开一个新的“不安全”的 Chrome 实例,同时保持其他“安全”浏览器实例打开并正常工作。

这通过在 C: 下创建一个新的文件夹/目录“Chrome dev session”来工作,并告诉这个新的 Chrome 实例将该文件夹/目录用于其用户和会话数据。因此,新实例将与您的“正常”Chrome 数据分开,并且您的书签和其他已保存的数据将在此实例中不可用。

注意:只有使用此方法打开的第一个“新”Chrome实例才会受到影响,因此它只是第一个新Chrome窗口中的第一个选项卡,该实例会受到影响。 如果关闭该实例,则可以再次使用相同的命令,例如,本地应用或类似应用的任何书签仍将存在,因为它指向同一文件夹。

如果要运行多个“不安全”的实例,每个实例都需要自己的文件夹/目录,因此您需要使用不同的文件夹名称再次运行命令。然而,这也意味着每个不安全的实例都将与其他实例分开,因此任何书签或其他保存的用户或会话数据将无法跨实例使用。

评论

0赞 GDavoli 11/8/2021
这对我有用,但为什么这似乎没有记录在任何地方?
0赞 Ola Karlsson 11/9/2021
我不知道,但也许是因为一般来说,Google/Chrome 可能不希望您禁用安全性。
1赞 Alexandre Daubricourt 8/30/2022
不适用于最新的 chrome 版本 i.imgur.com/VhFiecY.png
0赞 Christian Matthew 9/29/2022
我的天啊,谢谢你,先生。哎呀,chrome 有一个开发模式,我的天哪
0赞 Rémy Esmery 3/28/2023
在最新版本的 Chrome 中像魅力一样工作
0赞 user1578524 2/18/2014 #7

在 Windows PC 上,使用旧版本的 Chrome,该命令将适用于所有人。 我将我的 Chrome 降级到 26 版本,它起作用了。

评论

2赞 Vignesh S 9/24/2016
你不需要旧版本的 chrome 使用这个完整的命令 --disable-web-security --user-data-dir=“D:/Chrome”
78赞 Cobertos 6/20/2014 #8

编辑3:似乎扩展不再存在...通常,为了绕过CORS,这些天我设置了另一个版本的Chrome,并设置了一个单独的目录,或者我使用带有 https://addons.mozilla.org/en-US/firefox/addon/cors-everywhere/ 的Firefox。

编辑2:我再也无法让它始终如一地工作。

编辑:前几天我尝试将它用于另一个项目,但它停止了工作。卸载并重新安装扩展程序可修复它(以重置默认值)。

原答案:

我不想重新启动 Chrome 并禁用我的网络安全(因为我在开发时正在浏览),并偶然发现了这个 Chrome 扩展程序。

Chrome 网上应用店 allow-control-allow-origin:*
(https://chrome.google.com/webstore/detail/allow-control-allow-origi/nlfbmbojpeacfghkpbjhddihlkkiljbi?hl=en)

基本上,这是一个小的切换开关,用于打开和关闭 Allow-Access-Origin-Control 检查。对于我正在做的事情,它非常适合我。

评论

1赞 codebased 4/14/2015
我如何实现并与我的扩展集成,因为我的扩展需要跨域访问。我无法强制用户打开带有 disable-web-security 的浏览器
1赞 bryc 7/15/2015
不幸的是,此扩展名不适用于本地文件。在这种情况下,请坚持使用开关。--disable-web-security
2赞 Cobertos 7/15/2015
@bryc 这并不是真的。请考虑一下,您可以使用而不是禁用所有 Web 安全性。--allow-file-access-from-files
1赞 campsjos 3/23/2017
警告!有些网站不允许您在启用此扩展程序的情况下登录!例如,Firebase 控制台。
2赞 Michael Freidgeim 11/23/2019
“扩展不再存在”,您可以删除您的答案或至少将编辑 3 以粗体放在顶部吗
14赞 Bruce 9/12/2014 #9

这个 Chrome 插件对我有用: Allow-Control-Allow-Origin: * - Chrome 网上应用店

评论

6赞 etoxin 1/14/2016
这个插件在我的浏览器中坏了,开始破坏所有 XHR 的东西。请谨慎使用。
2赞 Ashish Kirodian 2/11/2020
此插件已从 chrome 商店中删除
57赞 Jianwu Chen 1/12/2015 #10

似乎上述解决方案实际上都不起作用。--disable-web-security 在最近的 chrome 版本中不再受支持。

Allow-Control-Allow-Origin: * - chrome 扩展程序部分解决了这个问题。仅当您的请求使用 GET 方法并且没有自定义 HTTP 标头时,它才有效。否则,chrome 会将 OPTIONS HTTP 请求作为预检请求发送。如果服务器不支持 CORS,它将使用 404 HTTP 状态代码进行响应。插件无法修改响应 HTTP 状态代码。因此,chrome 将拒绝此请求。chrome 插件无法根据当前的 chrome 扩展 API 修改响应 HTTP 状态代码。而且您也无法对 XHR 发起的请求进行重定向。

不知道为什么 Chrome 会让开发人员的生活如此困难。它阻止了禁用XSS安全检查的所有可能方法,即使是完全没有必要的开发用途。

经过几天的奋斗和研究,一个解决方案对我来说非常有效:使用 corsproxy。您在这里有两个选择: 1. 使用 [https://cors-anywhere.herokuapp.com/] 2.在本地框中安装 corsproxy:npm install -g corsproxy

[更新于2018年6月23日]最近我正在开发一个需要再次使用 corsproxy 的 SPA 应用程序。但似乎 github 上的 corsproxy 都不能满足我的要求。

  • 出于安全原因,需要它在防火墙内运行。所以我不能使用 https://cors-anywhere.herokuapp.com/
  • 它必须支持 https,因为 chrome 会在 https 页面中阻止 no-https ajax 请求。
  • 我需要在nodejs上运行。我不想维护另一个语言堆栈。

所以我决定用nodejs开发我自己的corsproxy版本。这其实很简单。我已将其作为要点发布在 github 上。以下是源代码要点:https://gist.github.com/jianwu/8e76eaec95d9b1300c59596fbfc21b10

  • 它采用普通的 nodejs 代码,没有任何额外的依赖项
  • 您可以在 http 和 https 模式下运行(通过传递 https 端口 number),要运行 https,需要生成 cert 和 键并将它们放在 webroot 目录中。
  • 它还用作静态文件服务器
  • 它还支持预检 OPTION 请求。

要启动 CORSProxy 服务器(http 端口 8080): 节点static_server.js 8080

要访问代理,请执行以下操作: http://host:8080/http://www.somesite.com

评论

0赞 Cobertos 3/4/2015
如果你要达到这个程度,你总是可以在本地或远程托管一个 Web 服务器,从你想要的网页中提取内容,然后在上面设置适当的 CORS 标头。
0赞 Jianwu Chen 4/22/2015
我以前想过这条路线。但这需要一些编码,尤其是在我的情况下,我需要调用来自不同域的几个服务。因此,我必须将不同的URL模式映射到不同的域。这正是corsproxy为我们所做的。而且效果很好。
4赞 Gaurang Patel 5/24/2016
不对。.接受的答案中提到的方式对我有用。如前所述,Chrome 49 及更高版本的命令“chrome.exe --disable-web-security --user-data-dir”对我有用。
2赞 Dark Star1 9/29/2016
Chromium 53,--disable-web-security --user-data-dir对我不起作用
4赞 lassombra 1/10/2017
在 53+ 中,您需要实际提供一个与普通目录不同的唯一用户数据目录。这将为不安全的环境创建一个新的配置文件。--user-data-dir 需要设置为等于某些内容,例如上面的 Olas 答案。如果您真的愿意,您可以将其设置为等于您的实际普通用户配置文件文件夹,但强烈建议不要这样做,因为如果您在该模式下开始正常浏览,它会使您的正常配置文件受到意外攻击。
15赞 Peter Wilson 1/29/2015 #11

您可以简单地使用此 chrome 扩展程序 Allow-Control-Allow-Origin

只需单击扩展的图标,即可根据需要打开或关闭启用跨资源共享

评论

0赞 Vitaly Zdanevich 11/23/2019
链接已失效。
0赞 Jánosi-Borsos Róbert 2/4/2020
事实并非如此。是的,它正在工作。但是我们在这里是因为我们现在命令意味着什么,所以在此之前使用上述解决方案!
0赞 Superole 4/16/2020
@Jánosi-BorsosRóbert 谁被包括在你的“我们”中,你对命令含义的了解怎么能把你带到这里?仅供参考:你的命令不准确,我没有服从;)
0赞 Jánosi-Borsos Róbert 6/26/2020
没错,@Superole。我的意思是我认为使用命令比安装扩展更好。
0赞 Stanislav Mayorov 10/6/2020
它不适用于 iframe。它仅禁用部分 CORS
3赞 AFA 8/2/2015 #12

对于 Windows:

(使用 Windows 8.1、Chrome 44.0)

首先,关闭谷歌浏览器。

然后,打开命令提示符并转到“ chrome.exe”所在的文件夹。

( for me: 'chrome.exe' is here "C:\Program Files (x86)\Google\Chrome\Application".

所以我输入:cd C:\Program Files (x86)\Google\Chrome\Application )

现在输入:chrome.exe --disable-web-security

将打开一个新的 Chrome 窗口。

7赞 ItsAllABadJoke 12/30/2015 #13

在 Windows 10 上,以下操作将起作用。

<<path>>\chrome.exe --allow-file-access-from-files --allow-file-access --allow-cross-origin-auth-prompt

评论

0赞 Waruyama 3/9/2016
我很惊讶你的回答被否决了。它对使用最新 Chrome 版本的本地文件非常有效。
0赞 Lawrence Dol 7/31/2018
@CHANist:这也许就是为什么OP说,“在Windows 10上”......?
55赞 etoxin 1/14/2016 #14

我发现最好的方法是在 Windows 桌面上复制 Chrome 或 Chrome Canary 快捷方式。将此快捷方式重命名为“NO CORS”,然后编辑该快捷方式的属性。

在目标中,添加到目标路径的末尾。--disable-web-security --user-data-dir="D:/Chrome"

您的目标应如下所示:

更新:添加了新标志。

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

enter image description here

评论

0赞 L1ghtk3ira 8/24/2016
现在,这给了我 404 而不是飞行前错误
0赞 etoxin 8/24/2016
404 错误是与服务器相关的错误,而不是 Google Chrome 错误。
2赞 Vignesh S 9/24/2016
@etoxin 此答案在最新版本的 chrome 中不再有效。您必须添加 --disable-web-security --user-data-dir=“D:/Chrome”
0赞 Kabir Hossain 11/28/2023
它在 Chrome 最新(版本 119.0.6045.160(官方版本)(64 位))中对我有用
8赞 guya 1/15/2016 #15

按照 Ola Karlsson 的回答,实际上最好的方法是在不同的会话中打开不安全的 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 的。Canary_CORS.bat

start "" "c:\Users\%USERNAME%\AppData\Local\Google\Chrome SxS\Application\chrome.exe" --user-data-dir="c:/_canary_dev" --disable-web-security

评论

0赞 lassombra 1/10/2017
这是对批处理文件的毫无意义的使用。为此,捷径会好得多。只需将第一对引号之后的所有内容放入快捷方式目标即可。
0赞 guya 1/15/2017
这并不重要。然而,在批处理中,您可以执行更多操作,例如在关闭浏览器后删除 user-data-dir。
0赞 lassombra 1/19/2017
诚然,在启动之外添加行为会很有用,但对于大多数需要很长时间的人来说,拥有一个持久的用户目录是有帮助的(例如,对于已安装的扩展)
8赞 MechaCode 5/20/2016 #16
chromium-browser --disable-web-security --user-data-dir=~/ChromeUserData/
7赞 Braian Mellor 9/1/2016 #17

对于Mac用户:

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

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

open -a "Google Chrome" --args --disable-web-security

评论

0赞 StuyvesantBlue 3/14/2019
谢谢。这适用于包含新 CORB 安全策略的最新 Chrome 73。
5赞 Let Me Tink About It 12/11/2016 #18

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

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

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

评论

1赞 Vitaly Zdanevich 11/23/2019
链接已失效。
418赞 Gauri Bhosle 2/3/2017 #19

对于 Windows

  1. 打开开始菜单

  2. 键入 + 或打开“运行”windowsR

  3. 执行以下命令:

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

对于 Mac

  1. 前往终端

  2. 执行以下命令:

     open /Applications/Google\ Chrome.app --args --user-data-dir="/var/tmp/Chrome dev session" --disable-web-security
    

一个新的禁用网络安全的 chrome 浏览器应打开并显示以下消息:

enter image description here

对于Mac

如果您想在不关闭现有选项卡的情况下打开禁用网络安全的 Chrome 浏览器的新实例,请使用以下命令

open -na Google\ Chrome --args --user-data-dir=/tmp/temporary-chrome-profile-dir --disable-web-security

它将打开禁用网络安全的Chrome浏览器的新实例,如下所示

enter image description here

评论

2赞 Jindřich Širůček 12/11/2022
这是一个很好的答案,帮助我在MAC上启动第二个窗口,并禁用了网络安全。2022/12
0赞 Gauri Bhosle 12/12/2022
很高兴知道它对你有帮助@JindřichŠirůček
19赞 Mohamed Saleh 3/2/2017 #20

您可以使用这个名为“Allow-Control-Allow-Origin: *”的 chrome 插件......它使它变得非常简单并且运行良好。在这里查看: *

Chrome extenstion

评论

4赞 Suprido 9/12/2017
它将“evil.com”网站设置为来源,看起来很可疑。
7赞 N.J.Dawson 8/6/2018
截至本评论发布之日,不再起作用。建议只使用旗帜路线。
15赞 Saurabh Chandra Patel 5/16/2017 #21

仅适用于 MAC 用户

open -n -a /Applications/Google\ Chrome.app --args --user-data-dir="/tmp/someFolderName" --disable-web-security

评论

0赞 Mohasin Ali 12/21/2017
如何还原此更改@saurab
0赞 Jeff Huijsmans 1/30/2019
@MohasinAli关闭所有 chrome 窗口,然后像往常一样运行它。它仅影响使用此参数运行的实例。如果在没有任何参数的情况下再次运行它,则不会应用此更改。
99赞 Ognyan Dimitrov 8/1/2017 #22

对于使用 **Chrome 版本 60.0.3112.78(解决方案测试和工作之日)的 Windows 用户,至少直到今天 24.11.2022(版本 106.0.5249.119(官方版本)(64 位))。无需关闭任何 chrome 实例。

  1. 在桌面上创建快捷方式
  2. 右键单击快捷方式,然后单击“属性”
  3. 编辑 Target 属性
  4. 将其设置为“C:\Program Files (x86)\Google\Chrome\Application\chrome.exe” --disable-web-security --user-data-dir=“C:/ChromeDevSession”
  5. 启动 chrome 并忽略 --disable-web-security is not supported!

请注意不要使用此特定的浏览器实例进行浏览,因为您可能会被黑客入侵!

评论

0赞 FearlessFuture 9/16/2017
像魅力一样工作。我不敢相信 Chrome 不允许开发人员在不启动新会话的情况下禁用此功能。至少他们有办法。
0赞 Righto 9/22/2017
您还能在源代码上使用 chrome 调试吗?
0赞 KuN 1/26/2018
刚刚测试过,你仍然可以在此模式下使用开发工具。
1赞 verism 11/24/2022
此方法仍然有效: 版本 106.0.5249.119(官方版本)(64 位)
1赞 Tofandel 2/20/2023
基本上,任何站点都可以像您一样向另一个站点发出请求,如果您禁用网络安全,假设您访问 hack3rs-site.com,该站点向 facebook.com 发出帖子请求以创建帖子,通常该请求会被 CORS 阻止,但通过禁用此安全性,请求将通过,如果您经过身份验证,该请求将使用您现有的 cookie
63赞 Vivek Sinha 12/26/2017 #23

在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 更改为 your 的 URL。

评论

0赞 Max MacLeod 2/12/2020
上面的大多数命令行答案在 macOS 上对我没有任何改进。但是,这篇文章 alfilatov.com/posts/run-chrome-without-cors 并且命令行打开对我有用。它与上面的命令相同,因此投票。
0赞 Ricardo 11/18/2023
这在 2023 年在 Debian 119.0.6045.159(官方版本)(64 位)上对我有用。小差别:我必须放弃并更改为,像这样:。我刚刚添加了一个 & 符号和输出重定向,但感谢您。open -n -a"Google Chrome"google-chromegoogle-chrome --user-data-dir=/tmp/temp_chrome_user_data_dir http://localhost:8100/ --disable-web-security/dev/null
0赞 Mike Upjohn 12/28/2017 #24

我有时会使用它,将 localhost 前端站点发布到 localhost 后端 API(例如,对旧的 .NET API 做出反应)。我在 Windows 10 桌面上创建了一个单独的快捷方式,因此它永远不会用于正常浏览,而仅用于本地调试。我做了以下事情:-

  1. 右键单击桌面,添加新的快捷方式
  2. 将目标添加为"[PATH_TO_CHROME]\chrome.exe" --disable-web-security
  3. 单击“确定”。

您将收到有关此浏览器加载的警告,指出它不安全,请注意浏览器的内容。我倾向于在桌面上重命名这个新的快捷方式,大写,并将其从我的其他图标中移开,这样它就不会与普通的 Chrome 混淆。

希望这有帮助!

12赞 Santiago M. Quintero 9/14/2018 #25

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

google-chrome  --user-data-dir=/tmp --disable-web-security
7赞 acolchagoff 1/3/2019 #26

这是一个不断移动的目标......今天我需要添加另一个标志才能使其工作:--disable-site-isolation-trials

OS X:open /Applications/Google\ Chrome.app --args --user-data-dir="/var/tmp/Chrome_dev_2" --disable-web-security --disable-site-isolation-trials

198赞 user2576266 3/31/2019 #27

使用当前最新的 chrome 版本 118.0.5993.89(官方版本)(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 配置文件。

评论

13赞 Sampath 4/7/2019
这是唯一适合我的解决方案。我已经在 Windows 10 的窗口上运行了它。多谢。chrome.exe --disable-site-isolation-trials --disable-web-security --user-data-dir="D:\temp"run
1赞 Daniel Sokolowski 5/10/2019
HAIR PULLING ARGHGHGH - 似乎不再起作用了
4赞 Nikolay Chernov 8/25/2019
添加 --disable-site-isolation-trials 在我的情况下确实帮助了我,Chrome v 75.0、Selenium Web 驱动程序、Java。谢谢!
3赞 Serhii Popov 2/25/2021
它在 Linux 上对我有用,但稍作修改google-chrome --disable-site-isolation-trials --disable-web-security --user-data-dir="/tmp"
3赞 marek8623 10/27/2021
我有版本 95,但添加 --disable-site-isolation-trials 不起作用。有什么解决方法吗?
0赞 Rahul Malu 4/15/2019 #28

尝试转到此页面并禁用您网站域的域安全策略。

chrome://net-internals/#hsts

评论

2赞 Vitaly Zdanevich 11/23/2019
请解释一下。在底部的这一页,我看到.Input a domain name to delete its dynamic domain security policies (HSTS and Expect-CT). (You cannot delete preloaded entries.):
-3赞 Mygel Bergstresser 8/10/2019 #29

Chrome 的 Allow-Control-Allow-Origin 插件不起作用。这适用于 MacOS

我已将 .profile 作为别名添加到我的 .profile 中。alias chrome='open -n -a /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --args --user-data-dir --disable-web-security'

其他命令将禁用我的其他扩展程序,这将在禁用 cors 的情况下启动您的普通 chrome

评论

0赞 Edenshaw 9/28/2019
如果您只需要使用 cors 测试一个站点,请使用 Safari,您只需要打开和关闭选项,而不是启动浏览器的另一个实例:[stackoverflow.com/a/12158217/922457]
0赞 Michael Freidgeim 11/27/2019
不要为普通浏览器禁用 CORS,这是不安全的。仅用于测试/开发您自己的网站
25赞 Malay 11/15/2019 #30

对于 OSX,请从终端运行以下命令:

open -na Google\ Chrome --args --disable-web-security --user-data-dir=$HOME/profile-folder-name

这将启动一个新的 Google Chrome 实例,并在顶部显示警告。

注意:如果您使用 chrome 断开与您的用户数据文件夹的连接(并从您的所有站点注销您) - 即使您在没有任何参数的情况下再次运行它。要回滚它,您需要以上述方式打开,但没有该 prameter。--user-data-dir

5赞 me_astr 12/24/2019 #31

在 Ubuntu 中使用以下命令启动 chrome(禁用同源策略并在分离模式下打开 chrome):

nohup google-chrome --disable-web-security --user-data-dir='/tmp' &
28赞 Shadi Alnamrouti 4/12/2020 #32
  1. 创建快捷方式

Create new shortcut


  1. 粘贴命令

cmd /c start chrome --disable-web-security --user-data-dir="c:\temp\chrome"


  1. 以管理员身份运行

评论

2赞 Karlo 10/10/2022
这个对我有用
-1赞 monda 3/21/2021 #33

禁用此标志是 chrome - 它应该可以工作chrome://flags/#reduced-referrer-granularity

评论

2赞 Teku1998 3/22/2021
在 89.0.4389.90 上没有看到
6赞 Sufiyan Ansari 5/23/2022 #34

仅适用于 OSX Catalina,以下命令对我有用。

open -n -a /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --args --user-data-dir="/tmp/chrome_dev_test" --disable-web-security

-1赞 Amir133 12/12/2022 #35

在 Windows 中:

创建快捷方式并设置目标:

"C:\Program Files\Google\Chrome\Application\chrome.exe" --disable-site-isolation-trials --disable-web-security --user-data-dir="C:/ChromeDevSession"

0赞 XM01 - stands with Palestine 7/22/2023 #36

我们可以覆盖网络响应标头,这是 Chrome113 开发工具中的一项新功能

打开“网络”选项卡,然后单击失败的请求。在 Response Headers 部分,搜索标头请求 Access-Control-Allow-Origin,并将其设置为允许所有源 (*)。

enter image description here

刷新页面,CORS的错误将消失,数据将被获取!

我们还可以通过单击“响应标头”部分中的“标头覆盖”来一次覆盖多个请求。并将“应用于”属性设置为并重新加载页面。*.json

-1赞 Asim Khan 8/8/2023 #37

没有任何效果 - 但添加这个对我有用。app.use(cors());

简单地说,一旦你初始化就使用它。

const app = express();
app.use(cors());
1赞 Raghul SK 8/8/2023 #38

从 Windows 的 chrome 浏览器中删除 Cors 起源问题。

单击“窗口”并搜索“运行”,打开“运行”应用后,将以下命令粘贴到“打开”上,然后单击“确定”。

"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --disable-web-security --disable-gpu --user-data-dir=~/chromeTemp

在运行此命令之前,请确保所有 chrome 浏览器都已关闭。