Existe alguma maneira de desativar a política de mesma origem no navegador Chrome do Google ?
peter.sh
página, portanto, deve ser bastante legítimo.
--disable-web-security --user-data-dir
Existe alguma maneira de desativar a política de mesma origem no navegador Chrome do Google ?
peter.sh
página, portanto, deve ser bastante legítimo.
--disable-web-security --user-data-dir
Respostas:
Feche o chrome (ou chromium) e reinicie com o --disable-web-security
argumento. Acabei de testar isso e verifiquei que posso acessar o conteúdo de um iframe com src = "http://google.com" incorporado em uma página veiculada a partir de "localhost" (testada no chromium 5 / ubuntu). Para mim, o comando exato foi:
Nota: Mate todas as instâncias do chrome antes de executar o comando
chromium-browser --disable-web-security --user-data-dir="[some directory here]"
O navegador avisará que "você está usando uma linha de comando não suportada" quando for aberta pela primeira vez, o que você poderá ignorar.
Da fonte de cromo:
// Don't enforce the same-origin policy. (Used by people testing their sites.)
const wchar_t kDisableWebSecurity[] = L"disable-web-security";
Antes do Chrome 48, você poderia apenas usar:
chromium-browser --disable-web-security
open /Applications/Google\ Chrome.app --args --disable-web-security
--user-data-dir
também.
Sim. Para OSX, abra o Terminal e execute:
$ open -a Google\ Chrome --args --disable-web-security --user-data-dir
--user-data-dir necessário no Chrome 49 ou superior no OSX
Para Linux, execute:
$ google-chrome --disable-web-security
Além disso, se você estiver tentando acessar arquivos locais para fins de desenvolvimento como AJAX ou JSON, também poderá usar esse sinalizador.
-–allow-file-access-from-files
No Windows, entre no prompt de comando e vá para a pasta onde está o Chrome.exe e digite
chrome.exe --disable-web-security
Isso deve desativar a mesma política de origem e permitir que você acesse arquivos locais.
Atualização: para o Chrome 22+, você receberá uma mensagem de erro informando:
Você está usando um sinalizador de linha de comando não suportado: --disable-web-security. Estabilidade e segurança sofrerão.
No entanto, você pode simplesmente ignorar essa mensagem durante o desenvolvimento.
--disable-web-security
não funciona, a menos que você também dê a --user-data-dir
. ou seja, OSX /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --disable-web-security --user-data-dir=~/ChromeUserData/
.
open -n
. Simplesmente corra open -n -a Google\ Chrome --args --disable-web-security --user-data-dir=/tmp/chrome
. Isso abrirá uma segunda instância de aplicativo Chrome no seu mac e você poderá usá-las lado a lado.
Para usuários do Windows:
O problema com a solução aceita aqui, na minha opinião, é que, se você já possui o Chrome aberto e tenta executar isso, ele não funciona.
No entanto, ao pesquisar isso, deparei-me com uma postagem sobre Superusuário. É possível executar o Chrome com e sem segurança na Web ao mesmo tempo?.
Basicamente, executando o seguinte comando (ou criando um atalho e abrindo o Chrome por meio dele)
chrome.exe --user-data-dir="C:/Chrome dev session" --disable-web-security
você pode abrir uma nova instância "insegura" do Chrome ao mesmo tempo em que mantém outras instâncias "seguras" do navegador abertas e funcionando normalmente.
Importante : exclua / limpe a C:/Chrome dev session
pasta sempre que abrir uma janela porque a segunda vez --disable-web-security
não funcionará. Portanto, você não pode salvar suas alterações e abri-las novamente como uma segunda instância insegura do Chrome --disable-web-security
.
"C:\..\chrome.exe" --disable-web-security --user-agent="Android" --user-data-dir="C:/temp-chrome-eng" --app="file:///C:/apps/index.html"
open -a Google\ Chrome --args --disable-web-security -–allow-file-access-from-files --user-data-dir="/Users/myuser/temp/chromeData"
, apenas fez a janela cromada existente ganhar foco, nada mais?
open -n -a /Applications/Google\ Chrome.app --args --user-data-dir="/tmp/chrome_dev_session" --disable-web-security
(Você pode precisar fazer a pasta temp primeiro)
Para Windows :
Execute o seguinte comando:
chrome.exe --user-data-dir="C://Chrome dev session" --disable-web-security
Para Mac :
Execute o seguinte comando:
open /Applications/Google\ Chrome.app --args --user-data-dir="/var/tmp/Chrome dev session" --disable-web-security
Um novo navegador chrome desativado para segurança na web deve ser aberto com a seguinte mensagem:
Run
.
Para usuários do Windows com versões do Chrome 60.0.3112.78 (o dia em que a solução foi testada e trabalhada) e pelo menos até hoje 19.01.2019 (ver. 71.0.3578.98) . Você não precisa fechar nenhuma instância do chrome.
CUIDADO PARA NÃO USAR ESTA INSTÂNCIA PARTICULAR DO NAVEGADOR PARA NAVEGAR PORQUE VOCÊ PODE SER HACKADO COM ELE!
EDIT 3: Parece que a extensão não existe mais ... Normalmente, para contornar o CORS hoje em dia, configurei outra versão do Chrome com um diretório separado ou uso o Firefox com https://addons.mozilla.org/pt-BR/ firefox / addon / cors-everywhere / em vez disso.
EDIT 2: Não consigo mais fazer isso funcionar de maneira consistente.
EDIT: Tentei usar o outro dia para outro projeto e ele parou de funcionar. Desinstalar e reinstalar a extensão corrigiu (para redefinir os padrões).
Resposta original:
Eu não queria reiniciar o Chrome e desativar minha segurança na web (porque estava navegando durante o desenvolvimento) e me deparei com essa extensão do Chrome.
Basicamente, é um pequeno botão de alternância para ativar e desativar a verificação Allow-Access-Origin-Control. Funciona perfeitamente para mim para o que estou fazendo.
--disable-web-security
interruptor nesse caso.
--allow-file-access-from-files
vez de desativar toda a segurança da web.
Parece que nenhuma das soluções acima está realmente funcionando. O --disable-web-security não é mais suportado nas versões recentes do Chrome.
Allow-Control-Allow-Origin: * - a extensão chrome resolveu parcialmente o problema. Funciona apenas se sua solicitação estiver usando o método GET e não houver cabeçalho HTTP personalizado. Caso contrário, o chrome enviará a solicitação HTTP OPTIONS como uma solicitação antes do voo. Se o servidor não suportar CORS, ele responderá com o código de status HTTP 404. O plug-in não pode modificar o código de status HTTP da resposta. Portanto, o chrome rejeitará essa solicitação. Não há como o plug-in chrome modificar o código de status HTTP da resposta com base na API de extensão chrome atual. E você não pode fazer um redirecionamento também para solicitação iniciada por XHR.
Não sei por que o Chrome torna a vida dos desenvolvedores tão difícil. Ele bloqueia todas as formas possíveis de desativar a verificação de segurança XSS, mesmo para uso em desenvolvimento que é totalmente desnecessário.
Depois de dias de luta e pesquisa, uma solução funciona perfeitamente para mim: usar corsproxy . Você tem duas opções aqui: 1. use [ https://cors-anywhere.herokuapp.com/] 2. instale o corsproxy na caixa local: npm install -g corsproxy
[Atualizado em 23 de junho de 2018] Recentes Estou desenvolvendo um aplicativo SPA que precisa usar o corsproxy novamente. Mas parece que nenhum dos corsproxy no github pode atender a minha exigência.
Então, decido desenvolver minha própria versão do corsproxy com o nodejs. Na verdade, é muito simples. Eu o publiquei como uma essência no github. Aqui está o código-fonte gist: https://gist.github.com/jianwu/8e76eaec95d9b1300c59596fbfc21b10
Para iniciar o servidor CORSProxy (porta http 8080): nó static_server.js 8080
para acessar o proxy: http: // host: 8080 / http: //www.somesite.com
Para Windows ... crie um atalho do Chrome na sua área de trabalho.
Clique com o botão direito do mouse> propriedades> Atalho
Editar caminho "destino":
"C:\Program Files\Google\Chrome\Application\chrome.exe" --args --disable-web-security
(Altere 'C: .... \ chrome.exe' para onde quer que o seu Chrome esteja localizado).
et voilà :)
Tente este comando no terminal Mac
open -n -a "Google Chrome" --args --user-data-dir=/tmp/temp_chrome_user_data_dir http://localhost:8100/ --disable-web-security
Ele abre outra instância do chrome com segurança desativada e não há mais problema com o CORS. Além disso, você não precisa mais fechar outras instâncias do Chrome. Altere o URL do host local para o seu.
Acho que a melhor maneira de fazer isso é duplicar um atalho do Chrome ou do Chrome Canary na área de trabalho do Windows. Renomeie este atalho para "NO CORS" e edite as propriedades desse atalho.
no destino adicionar --disable-web-security --user-data-dir="D:/Chrome"
ao final do caminho de destino.
seu alvo deve ser algo como isto:
Atualização: Novas bandeiras adicionadas.
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --disable-web-security --user-data-dir="D:/Chrome"
usando a versão atual mais recente do chrome (83.0.4103.61 (versão oficial) (64 bits)), a única maneira de fazê-lo funcionar no meu teste era iniciar o chrome usando as bandeiras abaixo (altere D: \ temp ao seu gosto) . Esta solução iniciará o chrome como uma sandbox para testes e não afetará o perfil principal do chrome:
--disable-site-isolamento-trial --disable-web-security --user-data-dir = "D: \ temp"
no Windows, clique no botão Iniciar e copie e cole o seguinte:
chrome.exe --disable-site-isolation-trials --disable-web-security --user-data-dir="D:\temp"
chrome.exe --disable-site-isolation-trials --disable-web-security --user-data-dir="D:\temp"
na run
janela do Windows 10. Muito obrigado.
Você pode usar este plug-in do Chrome chamado "Allow-Control-Allow-Origin: *" ... Torna-o simples e funciona muito bem. confira aqui: *
Para o Selenium Webdriver, é possível que o selênio inicie o Chrome com os argumentos apropriados (ou "opções") nesse caso.
@driver = Selenium::WebDriver.for(:Chrome, {
:detach => false,
:switches => ["--disable-web-security"]
})
Este plug-in do Chrome funciona para mim: Allow-Control-Allow-Origin: * - Chrome Web Store
Não faça isso! Você está abrindo suas contas para ataques . Depois que você fizer isso, qualquer site de terceiros poderá começar a emitir solicitações para outros sites, sites nos quais você está conectado.
Em vez disso, execute um servidor local. É tão fácil quanto abrir um shell / terminal / linha de comando e digitar
cd path/to/files
python -m SimpleHTTPServer
Em seguida, aponte seu navegador para
http://localhost:8000
Se você achar que é muito lento, considere esta solução
As pessoas que votaram negativamente nesta resposta devem ir até aqui e votar esta também para serem consistentes. Não faço ideia por que minha resposta é tão negativa e a mesma resposta aqui é a resposta mais votada.
Você é se abrindo para ataques. Agora, todos os scripts de terceiros que você incluir no seu site, remotamente ou localmente, via npm, podem enviar seus dados ou roubar suas credenciais. Você está fazendo algo que não precisa fazer. A solução sugerida não é difícil, leva 30 segundos, não o deixa aberto. Por que você escolheria ficar vulnerável quando a melhor coisa a fazer é tão simples?
Dizer às pessoas para desativar a segurança é como dizer a seus amigos para deixarem a porta da frente destrancada e / ou uma chave embaixo do capacho. Claro que as probabilidades podem ser baixas, mas se elas forem roubadas, sem prova de entrada forçada, poderão ter dificuldade em obter o seguro. Da mesma forma, se você desativar a segurança que você está fazendo exatamente isso desativação de segurança . É irresponsável fazer isso quando você pode resolver o problema de maneira simples, sem desativar a segurança. Eu ficaria surpreso se você não pudesse ser demitido de algumas empresas por desativar a segurança.
Você pode simplesmente usar esta extensão chrome Allow-Control-Allow-Origin
basta clicar no ícone da extensão para ativar ou desativar o compartilhamento de recursos, conforme desejado
APENAS PARA USUÁRIO MAC
open -n -a /Applications/Google\ Chrome.app --args --user-data-dir="/tmp/someFolderName" --disable-web-security
No Windows 10, o seguinte funcionará.
<<path>>\chrome.exe --allow-file-access-from-files --allow-file-access --allow-cross-origin-auth-prompt
Seguindo a resposta de Ola Karlsson, a melhor maneira seria abrir o Chrome inseguro em uma sessão diferente. Dessa forma, você não precisa se preocupar em fechar todas as guias abertas no momento e também pode continuar navegando na Web com segurança com a sessão original do Chrome.
Esses arquivos em lote devem funcionar apenas para você no Windows.
Coloque-o em um arquivo Chrome_CORS.bat para facilitar o uso
start "" "c:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --user-data-dir="c:/_chrome_dev" --disable-web-security
Este é para o 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
No Linux-Ubuntu, para executar simultaneamente uma sessão normal e uma sessão não segura, execute o seguinte comando:
google-chrome --user-data-dir=/tmp --disable-web-security
para usuários de mac:
open -a "Google Chrome" --args --disable-web-security --user-data-dir
e antes do Chrome 48, você poderia apenas usar:
open -a "Google Chrome" --args --disable-web-security
Existe uma extensão do Chrome chamada CORS Toggle.
Clique aqui para acessá-lo e adicioná-lo ao Chrome .
Depois de adicioná-lo, alterne-o para a posição ligado para permitir solicitações entre domínios.
este é um alvo sempre em movimento .... hoje eu precisava adicionar outro sinalizador para fazê-lo funcionar:
--disable-site-isolation-trials
OS X:
open /Applications/Google\ Chrome.app --args --user-data-dir="/var/tmp/Chrome_dev_2" --disable-web-security --disable-site-isolation-trials
Para Windows:
(usando o windows 8.1, chrome 44.0 )
Primeiro, feche o google chrome.
Em seguida, abra o prompt de comando e vá para a pasta onde está 'chrome.exe'.
( for me: 'chrome.exe' is here "C:\Program Files (x86)\Google\Chrome\Application".
Então eu digito
cd C:\Program Files (x86)\Google\Chrome\Application
:)
agora digite: chrome.exe --disable-web-security
uma nova janela do chrome será aberta.
Usado abaixo do comando no Ubuntu para iniciar o chrome (desative a mesma política de origem e abra o chrome no modo desanexado):
nohup google-chrome --disable-web-security --user-data-dir='/tmp' &
No Windows:
1) Crie um novo atalho:
2) Cole o seguinte caminho:
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" "C:\Program Files\Google\Chrome\Application\chrome.exe" --disable-web-security --user-data-dir="c:\temp\chrome"
3) Na próxima página, digite:
Unsafe Chrome.exe
Agora você tem um cromo não seguro na área de trabalho para usar na depuração de aplicativos CORS. Espero que esta resposta gráfica ajude algumas pessoas!
Tente acessar esta página e desativar a política de segurança do domínio do domínio do seu site.
chrome://net-internals/#hsts
Input a domain name to delete its dynamic domain security policies (HSTS and Expect-CT). (You cannot delete preloaded entries.):
.