peter.sh
页面,因此必须合法。
--disable-web-security --user-data-dir
peter.sh
页面,因此必须合法。
--disable-web-security --user-data-dir
Answers:
关闭chrome(或chrome),然后重新启动--disable-web-security
参数。我刚刚对此进行了测试,并验证了是否可以访问src =“ http://google.com”嵌入iframe的内容,该页面嵌入在“本地主机”提供的页面中(在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
open /Applications/Google\ Chrome.app --args --disable-web-security
--user-data-dir
。
是的 对于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。稳定性和安全性将受到损害。
但是,您可以在开发时忽略该消息。
--disable-web-security
除非您也明确给出,否则现在显然不起作用--user-data-dir
。即OSX /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --disable-web-security --user-data-dir=~/ChromeUserData/
。
open -n
。简单地运行open -n -a Google\ Chrome --args --disable-web-security --user-data-dir=/tmp/chrome
。这将在您的Mac上打开第二个Chrome应用程序实例,您可以并排使用它们。
对于Windows用户:
我认为这里接受的解决方案的问题在于,如果您已经打开Chrome并尝试运行它,它将无法正常工作。
但是,在研究此问题时,我遇到了有关“超级用户”的帖子,是否可以同时运行带有和不带有Web安全功能的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
。
"C:\..\chrome.exe" --disable-web-security --user-agent="Android" --user-data-dir="C:/temp-chrome-eng" --app="file:///C:/apps/index.html"
open -a Google\ Chrome --args --disable-web-security -–allow-file-access-from-files --user-data-dir="/Users/myuser/temp/chromeData"
,它只是使现有的chrome窗口获得了焦点,没有别的吗?
open -n -a /Applications/Google\ Chrome.app --args --user-data-dir="/tmp/chrome_dev_session" --disable-web-security
您可能需要先创建temp文件夹)
对于Windows:
执行以下命令:
chrome.exe --user-data-dir="C://Chrome dev session" --disable-web-security
对于Mac:
执行以下命令:
open /Applications/Google\ Chrome.app --args --user-data-dir="/var/tmp/Chrome dev session" --disable-web-security
新的停用了网络安全功能的Chrome浏览器应打开,并显示以下消息:
Run
。
对于使用Chrome版本60.0.3112.78(解决方案经过测试并正常工作的日期)且至少直到今天的19.01.2019(版本71.0.3578.98)的Windows用户。你并不需要关闭任何Chrome实例。
请勿使用此特殊的浏览器实例进行浏览,因为您可能对此感到头疼!
编辑3:似乎扩展名不再存在...这些天通常为了避开CORS,我用单独的目录设置了另一个版本的Chrome,或者我将Firefox与https://addons.mozilla.org/zh-CN/ firefox / addon / cors-everywhere /代替。
编辑2:我不能再使它始终如一地工作。
编辑:我只是在另一天尝试使用另一天,它停止工作。卸载并重新安装扩展后,已对其进行了修复(以重置默认值)。
原始答案:
我不想重新启动Chrome并禁用我的网络安全性(因为我在开发时正在浏览),却偶然发现了该Chrome扩展程序。
基本上,这是一个小拨动开关,用于启用和禁用Allow-Access-OriginControl检查。对于我的工作非常适合我。
--disable-web-security
在这种情况下,请坚持使用开关。
--allow-file-access-from-files
而不是禁用所有Web安全性。
似乎以上解决方案均未真正起作用。本-禁用网络安全是近年来铬版本不再支持。
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日更新]最近我正在开发一个SPA应用程序,需要再次使用corsproxy。但是似乎github上的corsproxy都不能满足我的要求。
因此,我决定使用nodejs开发自己的corsproxy版本。实际上非常简单。我已将其作为要点在github上发布。这是源代码要点:https : //gist.github.com/jianwu/8e76eaec95d9b1300c59596fbfc21b10
要启动CORSProxy服务器(http端口8080):节点static_server.js 8080
对于Windows ...在桌面上创建Chrome快捷方式。
右键单击>属性>快捷方式
编辑“目标”路径:
"C:\Program Files\Google\Chrome\Application\chrome.exe" --args --disable-web-security
(将“ C:.... \ chrome.exe”更改为您的Chrome所在的位置)。
etvoilà:)
在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。
我发现最好的方法是在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"
使用当前最新的chrome版本(83.0.4103.61(正式版本)(64位)),使其在我的测试中起作用的唯一方法是使用以下标志启动chrome(将D:\ temp更改为您喜欢的方式) 。此解决方案会将chrome作为测试的沙箱启动,并且不会影响主要的chrome配置文件:
--disable-site-isolation-trials --disable-web-security --user-data-dir =“ D:\ temp”
在Windows中,单击开始按钮,然后复制并粘贴以下内容:
chrome.exe --disable-site-isolation-trials --disable-web-security --user-data-dir="D:\temp"
chrome.exe --disable-site-isolation-trials --disable-web-security --user-data-dir="D:\temp"
在run
窗口中的窗口10.感谢。
您可以使用称为“ Allow-Control-Allow-Origin:*”的chrome插件...它使它变得非常简单并且运行良好。 在这里检查:*
对于Selenium Webdriver,在这种情况下,您可以使用适当的参数(或“开关”)使Selenium启动Chrome。
@driver = Selenium::WebDriver.for(:Chrome, {
:detach => false,
:switches => ["--disable-web-security"]
})
该Chrome插件对我有用: Allow-Control-Allow-Origin:*-Chrome网上应用店
不要这样! 您正在向攻击开放帐户。完成此操作后,任何第三方网站都可以开始向其他网站(您已登录的网站)发出请求。
而是运行本地服务器。就像打开外壳/终端/命令行并键入一样简单
cd path/to/files
python -m SimpleHTTPServer
然后将浏览器指向
http://localhost:8000
如果发现它太慢,请考虑此解决方案
对此答案不满意的人也应该在这里投票,对这个答案也要一致。不知道为什么我的答案如此之低,而这里的相同答案是投票最高的答案。
您正在向攻击敞开大门。现在,您通过npm远程或本地包含在站点中的每个第三方脚本都可以上载数据或窃取凭据。您正在做不需要做的事情。建议的解决方案并不难,只需30秒,就不会让您遭受公开攻击。当更好的事情如此简单时,为什么选择让自己变得脆弱?
告诉人们禁用安全性就像告诉您的朋友不要打开前门和/或门垫下的钥匙一样。当然,赔率可能很低,但是如果他们确实被盗了,如果没有被迫入境的证明,他们可能很难领取保险。同样,如果禁用安全性,则只不过是在禁用 安全性。当您可以简单地在不禁用安全性的情况下解决问题时,这样做是不负责任的。如果您不能因为禁用安全而被某些公司解雇,我会感到惊讶。
您可以简单地使用此Chrome扩展名Allow-Control-Allow-Origin
只需单击扩展图标即可根据需要打开或关闭启用跨资源共享
仅适用于MAC用户
open -n -a /Applications/Google\ Chrome.app --args --user-data-dir="/tmp/someFolderName" --disable-web-security
根据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专用的。金丝雀_CORS.bat
start "" "c:\Users\%USERNAME%\AppData\Local\Google\Chrome SxS\Application\chrome.exe" --user-data-dir="c:/_canary_dev" --disable-web-security
对于Mac用户:
open -a "Google Chrome" --args --disable-web-security --user-data-dir
在Chrome 48之前,您可以使用:
open -a "Google Chrome" --args --disable-web-security
对于Windows:
(使用Windows 8.1,Chrome 44.0)
首先,关闭google chrome。
然后,打开命令提示符,然后转到“ 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的新窗口将打开。
在Windows上:
1)创建一个新的快捷方式:
2)粘贴以下路径:
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" "C:\Program Files\Google\Chrome\Application\chrome.exe" --disable-web-security --user-data-dir="c:\temp\chrome"
3)在下一页中输入:
Unsafe Chrome.exe
现在,您在桌面上有一个不安全的镶边,可用于调试CORS应用程序。希望此图形答案对某些人有所帮助!
尝试转到此页面并为您的网站域禁用域安全策略。
chrome://net-internals/#hsts
Input a domain name to delete its dynamic domain security policies (HSTS and Expect-CT). (You cannot delete preloaded entries.):
。