Desative a segurança da web no Chrome 48+


86

Eu tenho um problema com a --disable-web-securitybandeira. Não está funcionando no Chrome 48 e no Chrome 49 beta no Windows.

Tentei matar todas as instâncias, reinicie e execute o Chrome com o sinalizador antes de tudo, tentei máquinas diferentes também. Na versão beta, posso ver o pop-up de aviso ("Você está usando sinalizador não suportado ..."), mas o CORS ainda está sendo aplicado. A versão pública parece ignorar a bandeira completamente.

Parece não haver notícias ou relatos de pessoas sobre isso, então pode ser um problema local. Ficarei grato pela ajuda ou qualquer informação relacionada.


Os desenvolvedores responsáveis ​​não desabilitam a segurança da web stackoverflow.com/a/33801287/128511
— gman

Respostas:


38

Atualização 2020-04-30

A partir de 81 Chrome, é obrigatório para passar ambos --disable-site-isolation-trials e um caminho de perfil não-vazia via --user-data-dirpara que --disable-web-securitytenham efeito:

# MacOS
open -na Google\ Chrome --args --user-data-dir=/tmp/temporary-chrome-profile-dir --disable-web-security --disable-site-isolation-trials

(Especulação) É provável que o Chrome exija um caminho de perfil não vazio para mitigar o alto risco de segurança de iniciar o navegador com a segurança da web desativada no perfil padrão. Veja --user-data-dir=vs --user-data-dir=/some/path para mais detalhes abaixo.

Obrigado a @ Snæbjørn pela dica do Chrome 81 nos comentários.


Atualização 06-03-2020

A partir do Chrome 80 (possivelmente ainda antes), a combinação de sinalizadores --user-data-dir=/tmp/some-path --disable-web-security --disable-site-isolation-trials não desabilita mais a segurança da web .

Não está claro quando a base de código do Chromium regrediu, mas fazer o download de uma compilação mais antiga do Chromium (a seguir "etapas não tão fáceis" na página de download do Chromium ) foi a única solução alternativa que encontrei. Acabei usando a versão 77.0.3865.0, que desabilita adequadamente a segurança da web com esses sinalizadores.


Postagem Original 01-11-2019

No Chrome 67+, é necessário passar pelo --disable-site-isolation-trials bandeira junto com os argumentos --user-data-dir=e --disable-web-securityrealmente desabilitar a segurança da web.

No MacOS, o comando completo se torna:

open -na Google\ Chrome --args --user-data-dir= --disable-web-security --disable-site-isolation-trials

A respeito de --user-data-dir

De acordo com a resposta de David Amey , ainda é necessário especificar --user-data-dir=que o Chrome respeite o--disable-web-security opção.

--user-data-dir= vs --user-data-dir=/some/path

Embora passando por um caminho vazio via --user-data-dir= works with --disable-web-security, não é recomendado para fins de segurança, pois usa seu perfil Chrome padrão, que tem sessões de login ativas para e-mail, etc. Com a segurança do Chrome desativada, suas sessões ativas são vulneráveis ​​a explorações do navegador.

Portanto, é recomendável usar um diretório alternativo para o seu perfil do Chrome --user-data-dir=/tmp/chrome-seshou equivalente. Crédito para @James B por apontar isso nos comentários.

Fonte

Esta correção foi encontrada na estrutura de teste do navegador Cypress: https://github.com/cypress-io/cypress/issues/1951


3
Só porque um valor não é necessário para fazê-lo funcionar, não significa que seja uma boa ideia. Executar o comando que você dá abrirá seu perfil padrão do Chrome, com sessões estabelecidas para seu e-mail / banco / qualquer coisa, mas sem segurança da web para evitar que essas contas sejam comprometidas por sites maliciosos.
— James B

Bom ponto, @JamesB. Eu rolei sua visão para a resposta.
— mxxk

No meu Mac com Chrome 81, este comando funcionou: open -na Google\ Chrome --args --disable-web-security --disable-gpu --user-data-dir=~/chromeTemprecebo um alerta reclamando do ~/chromeTempdir, mas funciona
— David,

1
Preso no Enterprise Chrome 79-ish e posso confirmar que os sinalizadores de segurança ainda funcionam.
— Boris

1
Posso confirmar que --user-data-dir=C:\tmp\some-path --disable-web-security --disable-site-isolation-trialsfunciona no Chrome 81 no Windows 10
— Snæbjørn

87

Estou vendo a mesma coisa. Um rápido google encontrou esta questão e um bug nos fóruns do chromium . Parece que a --user-data-dirbandeira agora é necessária. Edite para adicionar guia user-data-dir


4
Obrigado, funciona! Vazio --user-data-dir não funciona mais em beta, no entanto. Deve-se fornecer um valor aos dados do usuário para que ambos os sinalizadores funcionem.
— Anatoly Sazanov de

Obrigado pela resposta. Eu ainda tive problemas, pois nunca implementei isso antes, então se as pessoas ainda ficarem confusas depois de ler o acima, por favor, veja minha resposta abaixo.
— Dan Zuzevich

60

Mac OS:

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

UPD: adicionar =a --user-data-dirporque as versões mais recentes do Chrome exigem, a fim de trabalho


2
Como isso foi corrigido, você precisará especificar um diretório de dados do usuário para: open -a Google\ Chrome --args --disable-web-security --user-data-dir=/some/dir
— David Amey

9
Para Chrome versão 50+ para usuários de Mac. Feche todos os cromo abertos primeiro e execute o comando abaixo open -a Google\ Chrome --args --disable-web-security --user-data-dir=""
— Velu S Gautam

Observação: um banner deve aparecer informando "a segurança da web está desativada". Se este banner não aparecer, você precisa forçar o encerramento do Chrome antes de executar o comando (clique com o botão direito no ícone de inicialização rápida -> sair -> executar o comando novamente).
— Z. Bagley

Observe ! A partir da versão 80 do Chrome, o --user-data-dir=""não está mais funcionando --disable-web-security. Você precisa colocar um caminho real como--user-data-dir="/tmp/temppropfile"
— Keul

26

No OS X, para abrir uma nova janela do Chrome - sem ter que fechar as janelas já abertas primeiro - passe o sinalizador -n adicional . Certifique-se de especificar uma string vazia para data-dir (necessário para versões mais recentes do Chrome, como v50 something +).

open -na /Applications/Google\ Chrome.app/ --args --disable-web-security --user-data-dir=""

Descobri que usando o Chrome 60+ no Mac OS X Sierra, o comando acima não funcionava mais, mas uma pequena modificação sim:

open -n -a /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --args --user-data-dir="/tmp/chrome_dev_sess_1" --disable-web-security

O caminho do diretório de dados é importante. Mesmo se você estiver em seu diretório inicial ao emitir o comando, não pode simplesmente referir-se a um diretório local. Precisa ser um caminho absoluto.


1
Obrigado! Extensão do Google, Allow-Control-Allow-Origin: não funcionou para mim, mas funcionou!
— user2326737

23

A resposta escolhida é boa, mas para aqueles que ainda estão lutando com o que estão falando (sua primeira vez lidando com esse assunto), o seguinte funcionou para mim.

Eu criei um novo atalho para o Chrome na minha área de trabalho, cliquei com o botão direito nele e configurei o campo "Destino" para o seguinte,

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

O diretório pode ser o que você quiser, decidi criar uma pasta vazia chamada chrome dev no meu diretório C :. Não tem nada a ver onde o Chrome está instalado no seu computador. É apenas um tipo de coisa fofa.

Este link também contém instruções claras para outros sistemas operacionais. Como desativar a segurança da web no Chrome


15

A versão 49.0.2623.75 (64 bits) não está mais em beta.

O comando para corrigir o problema CORS é google-chrome-stable --disable-web-security --user-data-dir


1
Eu tenho que fazer isso todas as vezes?
— Compaq LE2202x

10

Instale este plugin do Chrome para Disable-web-security no Chrome ::

Link "Allow-Control-Allow-Origin: *" aqui ou você pode pesquisar o plug-in acima, se desejar.

é muito fácil habilitar e desabilitar a segurança com este plugin.


1
O link expirou
— Andrius Naruševičius

3

Para Chrome versão 50+ para usuários de Mac. Feche todos os cromo abertos primeiro e execute o comando abaixo

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

O acima vai funcionar. obrigado


2

Para Mac, usar o Safari é uma boa opção alternativa para fins de desenvolvimento local e o recurso é integrado ao navegador (portanto, não há necessidade de adicionar a extensão do navegador ou iniciar o Chrome usando o comando bash como [open -a Google \ Chrome --args --disable -web-security --user-data-dir = ""].

Para desativar a restrição de origem cruzada usando Safari (v11 +): No menu, clique em “Desenvolver> Desativar restrição de origem cruzada”.

Isso não requer a reinicialização do navegador e, como é uma alternância, você pode alternar facilmente para o modo seguro.


2

Em um terminal, coloque estes:

cd C:\Program Files (x86)\Google\Chrome\Application

chrome.exe --disable-web-security --user-data-dir="c:/chromedev"

1

Na data desta resposta (março de 2020), existe um plugin para o Chrome chamado CORS Unblock que permite pular essa política do navegador. A 'política de mesma origem' é um importante recurso de segurança dos navegadores. Instale este plugin apenas para fins de desenvolvimento ou teste. Não promova sua instalação em navegadores de clientes finais porque você compromete a segurança dos usuários e a comunidade do Chrome será forçada a remover este plug-in da loja.


1

No Chorme v81, os parâmetros --user-data-dir=exigem um parâmetro real, enquanto no passado não. Algo assim funciona bem para mim

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

0

Está funcionando para mim. Tente usar isso ... vai te ajudar ...

c:\Program Files\Google\Chrome\Application>chrome.exe --disable-web-security --user-data-dir="D:\chrome"

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.