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.

Anatoly Sazanov
fonte
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

mxxk
fonte
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

David Amey
fonte
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

Jirikolarik
fonte
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.

Por Quested Aronsson
fonte
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

Dan Zuzevich
fonte
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

user2634882
fonte
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.

Mehul D
fonte
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

Velu S Gautam
fonte
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.

Maksood
fonte
2

Em um terminal, coloque estes:

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

chrome.exe --disable-web-security --user-data-dir="c:/chromedev"
Tabares
fonte
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.

JorgeMora
fonte
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"
Irrech
fonte
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"

Ruchi Prasad
fonte