Lan*_*uhn 1443 javascript ajax google-chrome
有没有办法在Google的Chrome浏览器上禁用同源策略?
这是严格的开发,而不是生产用途.
ect*_*ype 1046
是的.对于OSX,打开终端并运行:
$ open -a Google\ Chrome --args --disable-web-security --user-data-dir
Run Code Online (Sandbox Code Playgroud)
OSX上的Chrome 49+上需要--user-data-dir
对于Linux运行:
$ google-chrome --disable-web-security
Run Code Online (Sandbox Code Playgroud)
此外,如果您尝试使用AJAX或JSON等开发目的访问本地文件,也可以使用此标志.
-–allow-file-access-from-files
Run Code Online (Sandbox Code Playgroud)
对于Windows,请进入命令提示符并进入Chrome.exe所在的文件夹并键入
chrome.exe --disable-web-security
Run Code Online (Sandbox Code Playgroud)
这应该禁用相同的源策略,并允许您访问本地文件.
更新:对于Chrome 22+,系统会显示一条错误消息:
您使用的是不受支持的命令行标志: - disable-web-security.稳定性和安全性将受到影响
但是,您可以在开发时忽略该消息.
Dag*_*bit 974
关闭铬(或铬)并使用--disable-web-security
参数重新启动.我刚刚对此进行了测试,并验证了我可以访问iframe的内容,其中src ="http://google.com"嵌入在"localhost"(在chrome 5/ubuntu下测试)的页面中.对我来说,确切的命令是:
注意:在运行命令之前杀死所有chrome实例
chromium-browser --disable-web-security --user-data-dir="[some directory here]"
Run Code Online (Sandbox Code Playgroud)
浏览器会在第一次打开时警告您"您正在使用不受支持的命令行",您可以忽略它.
来自铬源:
// Don't enforce the same-origin policy. (Used by people testing their sites.)
const wchar_t kDisableWebSecurity[] = L"disable-web-security";
Run Code Online (Sandbox Code Playgroud)
在Chrome 48之前,您可以使用:
chromium-browser --disable-web-security
Run Code Online (Sandbox Code Playgroud)
Ola*_*son 487
对于Windows用户:
在我看来,此处接受的解决方案的问题是,如果您已经打开Chrome并尝试运行它,则无法运行.
但是,在研究这个时,我发现了一个关于超级用户的帖子,是否可以同时运行带有和不带网络安全的Chrome?.
基本上,通过运行以下命令(或使用它创建一个快捷方式并通过它打开Chrome)
chrome.exe --user-data-dir="C:/Chrome dev session" --disable-web-security
Run Code Online (Sandbox Code Playgroud)
您可以在打开其他"安全"浏览器实例并正常工作的同时打开一个新的"不安全"Chrome实例.
重要提示:C:/Chrome dev session
每次打开窗口时删除/清除文件夹,因为第二次--disable-web-security
无法正常工作.因此,您无法保存更改,然后再将其作为第二个不安全的Chrome实例再次打开--disable-web-security
.
GSB*_*GSB 131
对于Windows:
执行以下命令:
chrome.exe --user-data-dir="C://Chrome dev session" --disable-web-security
Run Code Online (Sandbox Code Playgroud)对于Mac:
执行以下命令:
open /Applications/Google\ Chrome.app --args --user-data-dir="/var/tmp/Chrome dev session" --disable-web-security
Run Code Online (Sandbox Code Playgroud)应打开一个新的Web安全禁用Chrome浏览器,并显示以下消息:
Cob*_*urn 74
我不想重新启动Chrome并禁用我的网络安全性(因为我在开发时浏览)并偶然发现了这个Chrome扩展程序.
基本上它是一个小的切换开关来打开和关闭Allow-Access-Origin-Control检查.对我来说非常适合我正在做的事情.
编辑:我尝试使用另一天的另一个项目,它停止工作.卸载并重新安装扩展程序修复它(重置默认值).
编辑2:我再也无法让它始终如一地运作
Ogn*_*rov 69
对于使用Chrome版本60.0.3112.78(解决方案经过测试和工作的那天)的Windows用户,至少到今天19.01.2019(版本71.0.3578.98).你并不需要关闭任何Chrome实例.
请注意不要使用这个特殊的浏览器进行浏览,因为你可能会被它搞砸!
Jia*_*hen 48
似乎以上解决方案都没有实际工作.本-禁用网络安全是近年来铬版本不再支持.
Allow-Control-Allow-Origin:* - chrome扩展部分解决了问题.仅当您的请求使用GET方法并且没有自定义HTTP标头时,它才有效.否则,chrome将发送OPTIONS HTTP请求作为飞行前请求.如果服务器不支持CORS,它将使用404 HTTP状态代码进行响应.该插件无法修改响应HTTP状态代码.所以chrome会拒绝这个请求.Chrome插件无法根据当前的chrome扩展API修改响应HTTP状态代码.并且您也无法对XHR发起的请求进行重定向.
不确定为什么Chrome让开发人员的生活如此艰难.它阻止了所有可能的方法来禁用XSS安全检查,即使是完全没必要的开发使用.
经过几天的努力和研究,一个解决方案对我来说非常有效:使用corsproxy.这里有两个选项:1.使用corsproxy.com 2.在本地框中安装corsproxy:npm install -g corsproxy
[更新于2018年6月23日]最近我正在开发一个需要再次使用corsproxy的SPA应用程序.但似乎没有github上的corsproxy可以满足我的要求.
所以我决定使用nodejs开发自己的corsproxy版本.它实际上非常简单.我已经将它作为github上的要点发布了.这是源代码要点:https: //gist.github.com/jianwu/8e76eaec95d9b1300c59596fbfc21b10
mol*_*oco 42
对于Windows ...在桌面上创建Chrome快捷方式.
右键单击>属性>快捷方式
编辑"目标"路径:
"C:\Program Files\Google\Chrome\Application\chrome.exe" --args --disable-web-security
Run Code Online (Sandbox Code Playgroud)
(将'C:....\chrome.exe'更改为您的chrome所在的位置).
etvoilà:)
Viv*_*nha 38
在Mac终端上试试这个命令 -
open -n -a "Google Chrome" --args --user-data-dir=/tmp/temp_chrome_user_data_dir http://localhost:8100/ --disable-web-security
Run Code Online (Sandbox Code Playgroud)
它打开了另一个具有禁用安全性的chrome实例,并且不再存在CORS问题.此外,您不再需要关闭其他chrome实例.将localhost URL更改为您的URL.
eto*_*xin 35
我发现最好的方法是在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"
Run Code Online (Sandbox Code Playgroud)
小智 19
对于Selenium Webdriver,在这种情况下,您可以使用适当的参数(或"开关")让selenium启动Chrome.
@driver = Selenium::WebDriver.for(:Chrome, {
:detach => false,
:switches => ["--disable-web-security"]
})
Run Code Online (Sandbox Code Playgroud)
use*_*266 16
使用当前最新的chrome版本(76.0.3809.132(正式版本)(64位)),使其在我的测试中起作用的唯一方法是使用以下标志启动chrome(将D:\ temp更改为您喜欢的方式) :
--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"
Run Code Online (Sandbox Code Playgroud)
编辑:
-test-type
Run Code Online (Sandbox Code Playgroud)
Sha*_*uti 15
"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"
Unsafe Chrome.exe
现在,您在桌面上有一个不安全的 Google Chrome 版本,可以使用它来调试前端应用程序,而不会出现任何 CORS 问题。
chh*_*yal 14
如果您在Linux上使用Google Chrome,则以下命令有效.
google-chrome --disable-web-security
Run Code Online (Sandbox Code Playgroud)
Mal*_*lay 14
对于 OSX,从终端运行以下命令:
open -na Google\ Chrome --args --disable-web-security --user-data-dir=$HOME/profile-folder-name
Run Code Online (Sandbox Code Playgroud)
这将启动一个新的谷歌浏览器实例,顶部有警告。
gma*_*man 13
不要这样! 您正在向攻击开放帐户。完成此操作后,任何第三方网站都可以开始向其他网站(您已登录的网站)发出请求。
而是运行本地服务器。就像打开外壳/终端/命令行并键入一样简单
cd path/to/files
python -m SimpleHTTPServer
Run Code Online (Sandbox Code Playgroud)
然后将浏览器指向
http://localhost:8000
Run Code Online (Sandbox Code Playgroud)
如果发现它太慢,请考虑此解决方案
对此答案不满意的人也应该在这里投票,对这个答案也要一致。不知道为什么我的答案如此之低,而这里的相同答案是投票最高的答案。
您正在向攻击敞开大门。现在,您通过npm远程或本地包含在站点中的每个第三方脚本都可以上载数据或窃取凭据。您正在做不需要做的事情。建议的解决方案并不难,只需30秒,就不会让您遭受公开攻击。当更好的事情如此简单时,为什么选择让自己变得脆弱?
告诉人们禁用安全性就像告诉您的朋友不要打开前门和/或门垫下的钥匙一样。当然,赔率可能很低,但如果确实被盗,如果没有被迫入境的证明,他们可能会很难获得保险。同样,如果禁用安全性,则只不过是在禁用 安全性。当您可以简单地在不禁用安全性的情况下解决问题时,这样做是不负责任的。如果您不能因为禁用安全而被某些公司解雇,我会感到惊讶。
Bru*_*uce 13
此Chrome插件适用于我: Allow-Control-Allow-Origin:* - Chrome网上应用店
chromium-browser --disable-web-security --user-data-dir=~/ChromeUserData/
Run Code Online (Sandbox Code Playgroud)
仅适用于MAC用户
open -n -a /Applications/Google\ Chrome.app --args --user-data-dir="/tmp/someFolderName" --disable-web-security
Run Code Online (Sandbox Code Playgroud)
小智 8
在Windows 10上,以下内容将起作用.
<<path>>\chrome.exe --allow-file-access-from-files --allow-file-access --allow-cross-origin-auth-prompt
Run Code Online (Sandbox Code Playgroud)
关于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
Run Code Online (Sandbox Code Playgroud)
这个适用于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
Run Code Online (Sandbox Code Playgroud)
在Linux- Ubuntu上,要同时运行正常会话和不安全会话,请运行以下命令:
google-chrome --user-data-dir=/tmp --disable-web-security
Run Code Online (Sandbox Code Playgroud)
对于mac用户:
open -a "Google Chrome" --args --disable-web-security --user-data-dir
Run Code Online (Sandbox Code Playgroud)
在Chrome 48之前,你可以使用:
open -a "Google Chrome" --args --disable-web-security
Run Code Online (Sandbox Code Playgroud)
这是一个不断移动的目标......今天我需要添加另一个标志以使其工作:
--disable-site-isolation-trials
操作系统:
open /Applications/Google\ Chrome.app --args --user-data-dir="/var/tmp/Chrome_dev_2" --disable-web-security --disable-site-isolation-trials
仅适用于 OSX Catalina,以下命令适用于我。
open -n -a /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --args --user-data-dir="/tmp/chrome_dev_test" --disable-web-security
在 Ubuntu 中使用以下命令启动 chrome(禁用同源策略并在分离模式下打开 chrome):
nohup google-chrome --disable-web-security --user-data-dir='/tmp' &
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1773889 次 |
最近记录: |