Disabilita la sicurezza web in Chrome 48+


91

Ho un problema con la --disable-web-securitybandiera. Non funziona in Chrome 48 e Chrome 49 beta su Windows.

Ho provato a uccidere tutte le istanze, riavviare ed eseguire Chrome con il flag prima di tutto, ho provato anche macchine diverse. Nella beta posso vedere il popup di avviso ("Stai usando flag non supportato .."), ma CORS è ancora applicato. La versione pubblica sembra ignorare completamente la bandiera.

Sembra che non ci siano notizie o segnalazioni di persone al riguardo, quindi potrebbe essere un problema locale. Sarò grato per l'aiuto o qualsiasi informazione correlata.


Sviluppatori responsabili non disattivare la sicurezza web stackoverflow.com/a/33801287/128511
gman

Risposte:


46

Aggiorna 2020-04-30

A partire da Chrome 81, è obbligatorio passare sia --disable-site-isolation-trials un percorso del profilo non vuoto tramite --user-data-diraffinché --disable-web-securityabbia effetto:

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

(Speculazione) È probabile che Chrome richieda un percorso del profilo non vuoto per mitigare l'elevato rischio per la sicurezza di avviare il browser con la sicurezza web disabilitata sul profilo predefinito. Vedi --user-data-dir=vs --user-data-dir=/some/path per maggiori dettagli di seguito.

Grazie a @ Snæbjørn per il suggerimento di Chrome 81 nei commenti.


Aggiornamento 2020-03-06

A partire da Chrome 80 (forse anche prima), la combinazione di flag --user-data-dir=/tmp/some-path --disable-web-security --disable-site-isolation-trials non disabilita più la sicurezza web .

Non è chiaro quando il codice base di Chromium sia regredito, ma il download di una build precedente di Chromium (seguendo i "passaggi non così facili" nella pagina di download di Chromium ) è l'unica soluzione che ho trovato. Ho finito per utilizzare la versione 77.0.3865.0, che disabilita correttamente la sicurezza web con questi flag.


Post originale 2019-11-01

In Chrome 67+, è necessario passare il --disable-site-isolation-trialsflag accanto agli argomenti --user-data-dir=e--disable-web-security disabilitare veramente la sicurezza web.

Su MacOS, il comando completo diventa:

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

Per quanto riguarda --user-data-dir

Per la risposta di David Amey , è ancora necessario specificare --user-data-dir=che Chrome rispetti l' --disable-web-securityopzione.

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

Sebbene il passaggio in un percorso vuoto tramite --user-data-dir=funzioni con--disable-web-security funzioni , non è consigliato per motivi di sicurezza poiché utilizza il tuo profilo Chrome predefinito, che ha sessioni di accesso attive per e-mail, ecc. Con la sicurezza di Chrome disabilitata, le tue sessioni attive sono quindi vulnerabili a exploit del browser.

Pertanto, si consiglia di utilizzare una directory alternativa per il proprio profilo Chrome con --user-data-dir=/tmp/chrome-sesho equivalente. Ringraziamo @James B per sottolineato nei commenti.

fonte

Questa correzione è stata rimossa all'interno del framework di test del browser Cypress: https://github.com/cypress-io/cypress/issues/1951


3
Solo perché non è richiesto un valore per farlo funzionare non significa che sia una buona idea. L'esecuzione del comando che fornisci aprirà il tuo profilo Chrome predefinito, con sessioni stabilite alla tua email / banca / qualsiasi altra cosa, ma nessuna sicurezza web per impedire che quegli account vengano compromessi da siti dannosi.
James B

Buon punto @JamesB. Ho inserito la tua intuizione nella risposta.
mxxk

1
Sul mio Mac con Chrome 81, questo comando ha funzionato: open -na Google\ Chrome --args --disable-web-security --disable-gpu --user-data-dir=~/chromeTempottengo un avviso che si lamenta della ~/chromeTempdirectory, ma funziona
David

1
Bloccato su Enterprise Chrome 79-ish e posso confermare che i flag di sicurezza funzionano ancora.
Boris

1
Posso confermare che --user-data-dir=C:\tmp\some-path --disable-web-security --disable-site-isolation-trialsfunziona in Chrome 81 su Windows 10
Snæbjørn

87

Sto vedendo la stessa cosa. Un rapido google ha trovato questa domanda e un bug sui forum di Chrome . Sembra che --user-data-dirora sia necessaria la bandiera. Modifica per aggiungere la guida alla directory dati utente


4
Grazie, funziona! Vuoto --user-data-dir non funziona più in beta, però. Si dovrebbe fornire un valore ai dati utente affinché entrambi i flag funzionino.
Anatoly Sazanov

Grazie per la risposta. Ho ancora avuto problemi, poiché non l'ho mai implementato prima, quindi se le persone sono ancora confuse dopo aver letto quanto sopra, vedere la mia risposta di seguito.
Dan Zuzevich

60

Mac OS:

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

UPD: aggiungi =a--user-data-dir perché le versioni di Chrome più recenti lo richiedono per funzionare


2
Poiché il problema è stato risolto, dovrai specificare una directory dati utente, quindi: open -a Google\ Chrome --args --disable-web-security --user-data-dir=/some/dir
David Amey

9
Per Chrome versione 50+ per utenti Mac. Chiudi prima tutti i Chrome aperti ed esegui il comando seguente open -a Google\ Chrome --args --disable-web-security --user-data-dir=""
Velu S Gautam

Nota: dovrebbe apparire un banner che indica "la sicurezza web è disabilitata". Se questo banner non viene visualizzato, è necessario assicurarsi di forzare la chiusura di Chrome prima di eseguire il comando (fare clic con il pulsante destro del mouse sull'icona di avvio rapido -> esci -> riesegui comando).
Z. Bagley,

Si prega di notare ! Dalla versione 80 di Chrome --user-data-dir=""non funziona più con --disable-web-security. Devi inserire un percorso reale come--user-data-dir="/tmp/temppropfile"
keul

26

Su OS X, per aprire una nuova finestra di Chrome, senza dover chiudere prima le finestre già aperte, passa il flag aggiuntivo -n . Assicurati di specificare una stringa vuota per data-dir (necessaria per le versioni più recenti di Chrome, come v50 qualcosa +).

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

Ho scoperto che utilizzando Chrome 60+ su Mac OS X Sierra, il comando precedente non funzionava più, ma una leggera modifica lo fa:

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

Il percorso della directory dei dati è importante. Anche se ti trovi nella tua directory home quando esegui il comando, non puoi semplicemente fare riferimento a una directory locale. Deve essere un percorso assoluto.


1
Grazie! Estensione Google, Allow-Control-Allow-Origin: non ha funzionato per me, ma ha funzionato!
user2326737

23

La risposta scelta è buona, ma per coloro che stanno ancora lottando con ciò di cui stanno parlando (la prima volta che si tratta di questo problema), quanto segue ha funzionato per me.

Ho creato un nuovo collegamento a Chrome sul desktop, ho fatto clic con il pulsante destro del mouse e ho impostato il campo "Target" come segue,

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

La directory può essere qualsiasi cosa tu voglia, ho deciso di creare una cartella vuota chiamata chrome dev nella mia directory C :. Non ha nulla a che fare dove Chrome è installato sul tuo computer. È solo una cosa tipo lanugine.

Questo collegamento ha anche indicazioni chiare per altri sistemi operativi. Come disabilitare la sicurezza web in Chrome


15

La versione 49.0.2623.75 (64 bit) non è più in beta.

Il comando per risolvere il problema CORS è google-chrome-stable --disable-web-security --user-data-dir


1
Devo farlo ogni volta?
Compaq LE2202x

10

Installa questo plug-in di Chrome per Disable-web-security in Chrome ::

Link "Allow-Control-Allow-Origin: *" qui o puoi cercare su Google il plugin sopra se vuoi.

è molto facile abilitare e disabilitare la sicurezza con questo plugin.


1
Collegamento scaduto
Andrius Naruševičius

3

Per Chrome versione 50+ per utenti Mac. Chiudi prima tutti i Chrome aperti ed esegui il comando seguente

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

Quanto sopra funzionerà. Grazie


2

Per Mac, l'utilizzo di Safari è una buona opzione alternativa per scopi di sviluppo locale e la funzione è integrata nel browser (quindi non è necessario aggiungere l'estensione del browser o avviare Chrome utilizzando il comando bash come [open -a Google \ Chrome --args --disable -web-security --user-data-dir = ""].

Per disabilitare la restrizione tra le origini utilizzando Safari (v11 +): Dal menu fare clic su "Sviluppo> Disabilita la restrizione tra le origini".

Ciò non richiede il riavvio del browser e poiché è un interruttore puoi passare facilmente alla modalità sicura.


2

In un terminale metti questi:

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

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

1

A partire dalla data di questa risposta (marzo 2020) esiste un plug-in per Chrome chiamato CORS Unlock che ti consente di saltare la policy del browser. La "stessa politica di origine" è un'importante funzione di sicurezza dei browser. Installa questo plugin solo per scopi di sviluppo o test. Non promuovere la sua installazione nei browser dei client finali perché comprometti la sicurezza degli utenti e la community di Chrome sarà costretta a rimuovere questo plug-in dallo store.


1

Da Chorme v81 il params --user-data-dir=richiede un parametro effettivo, mentre in passato non lo era. Qualcosa di simile funziona bene per me

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

0

Funziona per me. Prova a usarlo .. ti aiuterà.

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

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.