首页 文章

在Chrome中停用相同的来源政策

提问于
浏览
1183

有没有办法在Google的Chrome浏览器上禁用Same-origin policy

这是严格的开发,而不是 生产环境 用途 .

26 回答

  • 16

    对于 Windows

    • 打开开始菜单

    • 键入windows R或打开"Run"

    • 执行以下命令:

    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
    

    应打开一个新的Web安全禁用Chrome浏览器,并显示以下消息:

  • 8

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

    Chrome Web Store Allow-Control-Allow-Origin: * (https://chrome.google.com/webstore/detail/allow-control-allow-origi/nlfbmbojpeacfghkpbjhddihlkkiljbi?hl=en)

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

    编辑:我尝试使用另一天的另一个项目,它停止工作 . 卸载并重新安装扩展程序修复它(重置默认值) .

  • 5

    在Windows 10上,以下内容将起作用 .

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

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

    • 右键单击桌面,添加新的快捷方式

    • 将目标添加为 "[PATH_TO_CHROME]\chrome.exe" --disable-web-security

    • 单击“确定” .

    您将收到有关此浏览器加载的警告,它不安全,只需要注意浏览器上的浏览器 . 我倾向于在桌面上重命名这个新的快捷方式,这是大写的东西,并且远离我的其他图标,所以它不能与普通的Chrome混淆 .

    希望这可以帮助!

  • 41

    Don't do this! You're opening your accounts to attacks . 执行此操作后,任何第三方站点都可以开始向您登录的其他网站发送请求 .

    而是运行本地服务器 . 它就像打开shell /终端/命令行并输入一样简单

    cd path/to/files
    python -m SimpleHTTPServer
    

    然后将浏览器指向

    http://localhost:8000
    

    如果你发现它太慢consider this solution

  • 1

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

    google-chrome  --disable-web-security
    
  • 7

    在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 .

  • 17

    似乎以上解决方案都没有实际工作 . 最近的chrome版本不再支持 --disable-web-security .

    Allow-Control-Allow-Origin: * - chrome extension 部分解决了这个问题 . 仅当您的请求使用GET方法并且_支持CORS时,它才会起作用,它将使用404 HTTP状态代码进行响应 . 该插件无法使用chrome插件根据当前的chrome扩展API修改响应HTTP状态代码 . 并且您也无法对XHR发起的请求进行重定向 .

    不确定为什么Chrome让开发人员的生活如此艰难 . 它阻止了所有可能的方法来禁用XSS安全检查,即使是完全没必要的开发使用 .

    经过几天的努力和研究,一个解决方案对我来说非常有效:使用 corsproxy . 这里有两个选项:1 . 使用corsproxy.com 2.在本地框中安装corsproxy: npm install -g corsproxy

    [Updated on Jun 23, 2018] 最近我正在开发一个需要再次使用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端口号),运行https,您需要生成证书和密钥并放入webroot目录 .

    • 它还充当静态文件服务器

    • 它也支持飞行前OPTION请求 .

  • 6

    对于Selenium Webdriver,在这种情况下,您可以让selenium使用适当的参数(或"switches")启动Chrome .

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

    对于mac用户:

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

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

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

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

    google-chrome  --user-data-dir=/tmp --disable-web-security
    
  • 31

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

    Note : Kill all chrome instances before running command

    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
    
  • 7

    对于 windows 用户 Chrome Version 60.0.3112.78 . 你 do not 需要关闭任何chrome实例 .

    • 在桌面上创建快捷方式

    • 右键单击快捷方式,然后单击“属性”

    • 编辑Target属性

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

    • 启动chrome和 ignore 消息,表示不支持--disable-web-security!

    BEWARE NOT TO USE THIS PARTICULAR BROWSER INSTANCE FOR BROWSING BECAUSE YOU CAN BE HACKED WITH IT!

  • 68

    这个Chrome插件适用于我:Allow-Control-Allow-Origin: * - Chrome Web Store

  • 37

    你可以使用这个名为"Allow-Control-Allow-Origin: *"的chrome插件...它使它变得简单而且工作得非常好 . check it here: *

  • 0

    在Windows PC上,使用较旧版本的Chrome,该命令适用于所有人 . 我将我的Chrome降级为26版本并且有效 .

  • 837
    chromium-browser --disable-web-security --user-data-dir=~/ChromeUserData/
    
  • 8

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

    Click here to access it and add it to Chrome .

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

  • 80

    关于Ola Karlsson的回答,确实最好的方法是在不同的会话中打开不安全的Chrome . 这样您就不必担心关闭所有当前打开的标签页,也可以继续使用原始Chrome会话安全地浏览网页 .

    这些批处理文件应该适用于Windows .

    将其放入Chrome_CORS.bat file以方便使用

    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
    
  • 3

    FOR MAC USER ONLY

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

    对于Windows用户:

    在我看来,此处接受的解决方案的问题是,如果您已经打开Chrome并尝试运行它,则无法运行 .

    然而,在研究这个时,我遇到了一个关于超级用户的帖子,Is it possible to run Chrome with and without web security at the same time? .

    基本上,通过运行以下命令(或使用它创建快捷方式并通过它打开Chrome)

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

    您可以在打开其他"secure"浏览器实例并正常工作的同时打开一个新的"insecure" Chrome实例 . 重要提示:每次打开窗口时删除/清除 C:/Chrome dev session 文件夹,因为第二次 --disable-web-security 无法正常工作 . 因此,您无法保存更改,然后再次将其作为第二个不安全的Chrome实例再次打开 --disable-web-security .

  • 9

    对于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

    一个新的铬窗口将打开 .

  • 41

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

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

    --user-data-dir required on Chrome 49+ on OSX

    对于Linux运行:

    $ google-chrome --disable-web-security
    

    此外,如果您尝试访问本地文件以用于开发目的,如AJAX或JSON,您也可以使用此标志 .

    -–allow-file-access-from-files
    

    对于Windows,请进入命令提示符并进入Chrome.exe所在的文件夹并键入

    chrome.exe --disable-web-security
    

    这应该禁用相同的源策略,并允许您访问本地文件 .

    Update: 对于Chrome 22,您将看到一条错误消息,指出:

    您使用的是不受支持的命令行标志: - disable-web-security . 稳定性和安全性将受到影响

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

  • 2

    对于Windows ...在桌面上创建Chrome快捷方式 .
    右键单击>属性>快捷方式
    编辑"target"路径:

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

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

    etvoilà:)

  • 12

    你可以简单地使用这个chrome扩展名Allow-Control-Allow-Origin

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

  • 23

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

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

    你的目标应该是这样的:

    Update: 新标志已添加 .

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

相关问题