Javascript 在Chrome中禁用同源策略

Javascript 在Chrome中禁用同源策略,javascript,ajax,google-chrome,Javascript,Ajax,Google Chrome,有没有办法在谷歌浏览器上禁用?关闭chrome(或chrome),然后用--disable web security参数重新启动。我刚刚测试了这个,并验证了我可以使用src=”访问iframe的内容http://google.com嵌入“localhost”(在chromium 5/ubuntu下测试)提供的页面中。对我来说,确切的命令是: 注意:在运行命令之前杀死所有chrome实例 chromium-browser --disable-web-security --user-data-dir

有没有办法在谷歌浏览器上禁用?

关闭chrome(或chrome),然后用
--disable web security
参数重新启动。我刚刚测试了这个,并验证了我可以使用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
open -a "Google Chrome" --args --disable-web-security

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

$ open -a Google\ Chrome --args --disable-web-security --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+,您将收到一条错误消息,上面写着:

您正在使用不受支持的命令行标志:--禁用web安全性。稳定与安全将受到影响


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

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

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

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

google-chrome  --disable-web-security

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

(将'C:..\chrome.exe'更改为chrome所在的位置)

et voilá:)

对于Windows用户:

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

然而,在研究这个问题时,我发现了一篇关于超级用户的帖子

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

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

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

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


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

不要这样做。一旦您这样做,任何第三方网站都可以开始向您登录的其他网站发出请求

而是运行本地服务器。这就像打开shell/terminal/commandline并键入命令一样简单

cd path/to/files
python -m SimpleHTTPServer
然后将浏览器指向

http://localhost:8000
如果你发现它太慢了

使现代化 对这个答案投反对票的人应该到这里来,保持一致。不知道为什么我的答案被否决了,而同样的答案被否决了,是得票最多的答案

正在向攻击敞开心扉。通过npm远程或本地包含在站点上的每一个第三方脚本现在都可以上载您的数据或窃取您的凭据。你正在做一些你不需要做的事情。建议的解决方案并不难,只需30秒,不会让你面临攻击。当更好的事情这么简单的时候,你为什么会选择让自己变得脆弱


告诉人们禁用安全就像告诉你的朋友让他们的前门不上锁和/或在门垫下放一把钥匙。当然,几率可能很低,但如果他们真的被窃,没有强行进入的证据,他们可能很难获得保险。类似地,如果您禁用安全性
,您正在执行禁用安全性的操作。当您可以如此简单地解决问题而不禁用安全性时,这样做是不负责任的。如果你不能因为禁用安全性而被某些公司解雇,我会感到惊讶。

在Windows PC上,使用旧版本的Chrome,这个命令对你们所有人都适用。
我把我的Chrome浏览器降级到26版本,它成功了。

编辑3:似乎扩展已经不存在了…现在我或我使用Firefox来代替CORS

编辑2:我再也不能让它始终如一地工作了

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

原始答案:

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


基本上,它是一个小切换开关,用于打开和关闭允许访问原点控制检查。对于我正在做的事情,它非常适合我。

这个Chrome插件适合我:

上述解决方案似乎都不起作用。--禁用web安全性为否
http://localhost:8000
( for me: 'chrome.exe' is here "C:\Program Files (x86)\Google\Chrome\Application".
<<path>>\chrome.exe --allow-file-access-from-files --allow-file-access --allow-cross-origin-auth-prompt
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --disable-web-security --user-data-dir="D:/Chrome"
start "" "c:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --user-data-dir="c:/_chrome_dev" --disable-web-security
start "" "c:\Users\%USERNAME%\AppData\Local\Google\Chrome SxS\Application\chrome.exe" --user-data-dir="c:/_canary_dev" --disable-web-security
chromium-browser --disable-web-security --user-data-dir=~/ChromeUserData/
open -a "Google Chrome" --args --disable-web-security --user-data-dir
open -a "Google Chrome" --args --disable-web-security
 chrome.exe --user-data-dir="C://Chrome dev session" --disable-web-security
 open /Applications/Google\ Chrome.app --args --user-data-dir="/var/tmp/Chrome dev session" --disable-web-security
open -na Google\ Chrome --args --user-data-dir=/tmp/temporary-chrome-profile-dir --disable-web-security
open -n -a /Applications/Google\ Chrome.app --args --user-data-dir="/tmp/someFolderName" --disable-web-security
open -n -a "Google Chrome" --args --user-data-dir=/tmp/temp_chrome_user_data_dir http://localhost:8100/ --disable-web-security 
google-chrome  --user-data-dir=/tmp --disable-web-security
chrome.exe  --disable-site-isolation-trials --disable-web-security --user-data-dir="D:\temp"
open -na Google\ Chrome --args --disable-web-security --user-data-dir=$HOME/profile-folder-name
nohup google-chrome --disable-web-security --user-data-dir='/tmp' &