Existe alguma maneira de desativar a política de mesma origem no navegador Chrome do Google ?
javascript
ajax
google-chrome
Landon Kuhn
fonte
fonte
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
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:
Antes do Chrome 48, você poderia apenas usar:
fonte
open /Applications/Google\ Chrome.app --args --disable-web-security
--user-data-dir
também.Sim. Para OSX, abra o Terminal e execute:
--user-data-dir necessário no Chrome 49 ou superior no OSX
Para Linux, execute:
Além disso, se você estiver tentando acessar arquivos locais para fins de desenvolvimento como AJAX ou JSON, também poderá usar esse sinalizador.
No Windows, entre no prompt de comando e vá para a pasta onde está o Chrome.exe e digite
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:
No entanto, você pode simplesmente ignorar essa mensagem durante o desenvolvimento.
fonte
--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 corraopen -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)
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
.fonte
"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:
Para Mac :
Execute o seguinte comando:
Um novo navegador chrome desativado para segurança na web deve ser aberto com a seguinte mensagem:
fonte
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!
fonte
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.
Allow-Control-Allow-Origin da Chrome Web Store: *
(https://chrome.google.com/webstore/detail/allow-control-allow-origi/nlfbmbojpeacfghkpbjhddihlkkiljbi?hl=pt_BR)
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.
fonte
--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
fonte
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":
(Altere 'C: .... \ chrome.exe' para onde quer que o seu Chrome esteja localizado).
et voilà :)
fonte
Tente este comando no terminal Mac
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.
fonte
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.
fonte
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:
no Windows, clique no botão Iniciar e copie e cole o seguinte:
fonte
chrome.exe --disable-site-isolation-trials --disable-web-security --user-data-dir="D:\temp"
narun
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: *
fonte
Para o Selenium Webdriver, é possível que o selênio inicie o Chrome com os argumentos apropriados (ou "opções") nesse caso.
fonte
Se você estiver usando o Google Chrome no Linux, o seguinte comando funcionará.
fonte
Este plug-in do Chrome funciona para mim: Allow-Control-Allow-Origin: * - Chrome Web Store
fonte
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
Em seguida, aponte seu navegador para
Se você achar que é muito lento, considere esta solução
Atualizar
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.
fonte
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
fonte
APENAS PARA USUÁRIO MAC
fonte
fonte
No Windows 10, o seguinte funcionará.
fonte
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
Este é para o Chrome Canary . Canary_CORS.bat
fonte
No Linux-Ubuntu, para executar simultaneamente uma sessão normal e uma sessão não segura, execute o seguinte comando:
fonte
para usuários de mac:
e antes do Chrome 48, você poderia apenas usar:
fonte
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.
fonte
Para OSX, execute o seguinte comando no terminal:
Isso iniciará uma nova instância do Google Chrome com um aviso na parte superior.
fonte
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
fonte
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'.
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.
fonte
Usado abaixo do comando no Ubuntu para iniciar o chrome (desative a mesma política de origem e abra o chrome no modo desanexado):
fonte
No Windows:
1) Crie um novo atalho:
2) Cole o seguinte caminho:
3) Na próxima página, digite:
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!
fonte
Tente acessar esta página e desativar a política de segurança do domínio do domínio do seu site.
fonte
Input a domain name to delete its dynamic domain security policies (HSTS and Expect-CT). (You cannot delete preloaded entries.):
.