zhongxia245/blog

【20160930】Chrome 跨域 disable-web-security 关闭安全策略

zhongxia245 opened this issue · 4 comments

为什么这样关闭Chrome安全策略跨域?

做前端的知道跨域这个问题,现在前后端开发分离了,然后开发联调的时候,我们本地的前端项目访问后端的接口时,就报跨域问题。 跨域问题 有多种解决方案,比如 CORS跨域,JSONP,HTML5 的 postMessage 等。

当遇到以下情况,则可以简单的使用 关闭Chrome 安全策略跨域

  1. 开发时跨域,上线后,部署在一个域名下没有跨域问题
  2. 开发时,临时解决跨域问题

只有开发时用这个,其他时候,就不要使用这种方式了

切记切记

切记切记,使用这个打开之前,判断下chrome是否都关闭掉了。
mac 下 , command+q 就退出了
window下,如果不确定是否全部退出,打开任务管理器, 找下 chrome 是否还有打开的。

有时候window下,明明感觉已经全部关闭了,可是打开之后,发现居然居然居然没有用。然后打开任务管理器一看,原来还有未关闭的。 只是图标没有在任务栏。
image

mac

直接用命令行打开,目前使用该命令打开还没有遇到啥问题,百试百灵。 safari 也一样

//chrome 浏览器
open -a "Google Chrome" --args --disable-web-security  --user-data-dir
//safari 浏览器 
open -a '/Applications/Safari.app' --args --disable-web-security --user-data-dir 

window下

这里的chrome.exe 地址根据自己安装路径来, 测试过 chrome45,48,53版本。
45版本 只需要 --disable-web-security
48,53版本需要 额外添加 --user-data-dir

一、命令行打开方式

"C:\Users\UserName\AppData\Local\Google\Chrome\Application\chrome.exe" --disable-web-security --user-data-dir

//不知道chrome.exe 地址的话
右键chrome图标-->属性-->如下图-->图中 目标 就是文件的位置了,直接复制出来即可

二、配置快捷方式打开【简单粗暴】

chrome53 版本,设置这样好像不起作用。【操作系统 window7,64位】,只能用命令行

  1. 新建桌面快捷方式

    注意:chrome48,版本需要添加上 --user-data-dir

//快捷方式后面  空一格,再加上
--disable-web-security --user-data-dir

image

Linux【未测试过】

chromium-browser --disable-web-security  

成功效果

各个平台下的浏览器,都是差不多这个样子。
image

如果在开着一个chrome的情况下使用这种方式跨域会有什么问题?我之前有几次操作是在开着chrome的时候使用的这种方式,然后会创建一个新的chrome窗口出来。这种方式会影响chrome 的安全吗?

@txytju 黑客(cracker)可以讓你的網頁偷偷連到他的伺服器下載惡意代碼

yize commented

https://github.com/yize/xswitch 支持一键 CORS + URL 重写

imqd commented

2020年 最新的chrome浏览器好像不行啊