Esiste un modo per disabilitare le norme sulla stessa origine sul browser Chrome di Google ?
peter.sh
pagina, quindi deve essere abbastanza legittimo.
--disable-web-security --user-data-dir
Esiste un modo per disabilitare le norme sulla stessa origine sul browser Chrome di Google ?
peter.sh
pagina, quindi deve essere abbastanza legittimo.
--disable-web-security --user-data-dir
Risposte:
Chiudi chrome (o chrome) e riavvia con l' --disable-web-security
argomento. Ho appena provato questo e verificato che posso accedere al contenuto di un iframe con src = "http://google.com" incorporato in una pagina servita da "localhost" (testato con chromium 5 / ubuntu). Per me il comando esatto era:
Nota: uccidi tutte le istanze di Chrome prima di eseguire il comando
chromium-browser --disable-web-security --user-data-dir="[some directory here]"
Il browser ti avviserà che "stai usando una riga di comando non supportata" quando si apre per la prima volta, che puoi ignorare.
Dalla fonte di cromo:
// Don't enforce the same-origin policy. (Used by people testing their sites.)
const wchar_t kDisableWebSecurity[] = L"disable-web-security";
Prima di Chrome 48, potevi semplicemente usare:
chromium-browser --disable-web-security
open /Applications/Google\ Chrome.app --args --disable-web-security
--user-data-dir
.
Sì. Per OSX, apri Terminale ed esegui:
$ open -a Google\ Chrome --args --disable-web-security --user-data-dir
--utente-data-dir richiesto su Chrome 49+ su OSX
Per Linux eseguire:
$ google-chrome --disable-web-security
Inoltre, se stai provando ad accedere ai file locali per scopi di sviluppo come AJAX o JSON, puoi usare anche questo flag.
-–allow-file-access-from-files
Per Windows vai al prompt dei comandi e vai nella cartella in cui è Chrome.exe e digita
chrome.exe --disable-web-security
Ciò dovrebbe disabilitare la stessa politica di origine e consentire di accedere ai file locali.
Aggiornamento: per Chrome 22+ ti verrà presentato un messaggio di errore che dice:
Stai usando un flag della riga di comando non supportato: --disable-web-security. Stabilità e sicurezza ne risentiranno.
Tuttavia, puoi semplicemente ignorare quel messaggio durante lo sviluppo.
--disable-web-security
non funziona a meno che tu non dia esplicitamente anche a --user-data-dir
. cioè OSX /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --disable-web-security --user-data-dir=~/ChromeUserData/
.
open -n
. Corri semplicemente open -n -a Google\ Chrome --args --disable-web-security --user-data-dir=/tmp/chrome
. Questo aprirà una seconda istanza dell'app Chrome sul tuo Mac e potrai usarli fianco a fianco.
Per utenti Windows:
Il problema con la soluzione accettata qui, a mio avviso, è che se hai già Chrome aperto e provi a eseguirlo, non funzionerà.
Tuttavia, durante la ricerca di questo, mi sono imbattuto in un post su Super User, è possibile eseguire Chrome con e senza sicurezza web allo stesso tempo? .
Fondamentalmente, eseguendo il comando seguente (o creando un collegamento con esso e aprendo Chrome tramite quello)
chrome.exe --user-data-dir="C:/Chrome dev session" --disable-web-security
puoi aprire una nuova istanza "insicura" di Chrome mentre mantieni le altre istanze del browser "sicure" aperte e funzionanti normalmente.
Importante : cancella / cancella C:/Chrome dev session
cartella ogni volta che apri una finestra perché la seconda volta --disable-web-security
non funzionerà. Quindi non è possibile salvare le modifiche e quindi riaprirlo come seconda istanza non sicura di Chrome con --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"
, ha appena messo a fuoco la finestra cromata esistente, nient'altro?
open -n -a /Applications/Google\ Chrome.app --args --user-data-dir="/tmp/chrome_dev_session" --disable-web-security
(potrebbe essere necessario creare prima la cartella temporanea)
Per Windows :
Eseguire il comando seguente:
chrome.exe --user-data-dir="C://Chrome dev session" --disable-web-security
Per Mac :
Eseguire il comando seguente:
open /Applications/Google\ Chrome.app --args --user-data-dir="/var/tmp/Chrome dev session" --disable-web-security
Si dovrebbe aprire un nuovo browser Chrome disabilitato per la sicurezza Web con il seguente messaggio:
Run
.
Per utenti Windows con versioni di Chrome 60.0.3112.78 (il giorno in cui la soluzione è stata testata e funzionata) e almeno fino ad oggi il 19.01.2019 (ver. 71.0.3578.98) . Non è necessario chiudere alcuna istanza di Chrome.
ATTENZIONE A NON UTILIZZARE QUESTA PARTICOLARE ISTANZA DI BROWSER PER LA BROWSING PERCHÉ PUOI ESSERE VIETATO CON NOI!
EDIT 3: Sembra che l'estensione non esista più ... Normalmente per aggirare CORS in questi giorni ho impostato un'altra versione di Chrome con una directory separata o utilizzo Firefox con https://addons.mozilla.org/en-US/ firefox / addon / cors-everywhere / invece.
EDIT 2: Non riesco più a farlo funzionare in modo coerente.
EDIT: ho provato a usare l'altro giorno per un altro progetto e ha smesso di funzionare. La disinstallazione e reinstallazione dell'estensione ha risolto il problema (per ripristinare le impostazioni predefinite).
Risposta originale:
Non volevo riavviare Chrome e disabilitare la mia sicurezza web (perché stavo navigando durante lo sviluppo) e mi sono imbattuto in questa estensione di Chrome.
Fondamentalmente è un piccolo interruttore per attivare e disattivare il controllo Allow-Access-Origin-Control. Funziona perfettamente per me per quello che sto facendo.
--disable-web-security
all'interruttore in quel caso.
--allow-file-access-from-files
invece di disabilitare tutta la sicurezza web.
Sembra che nessuna delle soluzioni precedenti funzioni effettivamente. Il --disable-web-sicurezza non è più supportato nelle versioni più recenti di Chrome.
Allow-Control-Allow-Origin: * - l'estensione chrome ha parzialmente risolto il problema. Funziona solo se la tua richiesta utilizza il metodo GET e non esiste un'intestazione HTTP personalizzata. In caso contrario, Chrome invierà la richiesta HTTP OPTIONS come richiesta pre-volo. Se il server non supporta CORS, risponderà con il codice di stato HTTP 404. Il plug-in non può modificare il codice di stato HTTP di risposta. Quindi Chrome rifiuterà questa richiesta. Non è possibile per il plugin Chrome modificare il codice di stato HTTP di risposta basato sull'API dell'estensione Chrome corrente. E non è possibile eseguire un reindirizzamento anche per la richiesta avviata da XHR.
Non so perché Chrome renda la vita degli sviluppatori così difficile. Blocca tutti i modi possibili per disabilitare il controllo di sicurezza XSS anche per l'uso dello sviluppo che è totalmente inutile.
Dopo giorni di lotte e ricerche, una soluzione funziona perfettamente per me: usare corsproxy . Hai due opzioni qui: 1. usa [ https://cors-anywhere.herokuapp.com/] 2. installa corsproxy nella casella locale: npm install -g corsproxy
[Aggiornato il 23 giu 2018] Recentemente sto sviluppando un'app SPA che deve riutilizzare corsproxy. Ma sembra che nessuno dei corsproxy su Github possa soddisfare le mie esigenze.
Quindi decido di sviluppare la mia versione di corsproxy con nodejs. In realtà è molto semplice. L'ho pubblicato come sostanza sul github. Ecco la sintesi del codice sorgente: https://gist.github.com/jianwu/8e76eaec95d9b1300c59596fbfc21b10
Per avviare il server CORSProxy (porta http 8080): nodo static_server.js 8080
per accedere al proxy: http: // host: 8080 / http: //www.somesite.com
Per Windows ... crea un collegamento Chrome sul desktop.
Tasto destro del mouse> proprietà> Collegamento
Modifica percorso "target":
"C:\Program Files\Google\Chrome\Application\chrome.exe" --args --disable-web-security
(Cambia "C: .... \ chrome.exe" in qualsiasi posizione di Chrome).
et voilà :)
Prova questo comando sul terminale Mac-
open -n -a "Google Chrome" --args --user-data-dir=/tmp/temp_chrome_user_data_dir http://localhost:8100/ --disable-web-security
Apre un'altra istanza di Chrome con sicurezza disabilitata e non ci sono più problemi CORS. Inoltre, non è più necessario chiudere altre istanze di Chrome. Cambia l'URL localhost in quello tuo.
Trovo che il modo migliore per farlo sia duplicare un collegamento Chrome o Chrome Canary sul desktop di Windows. Rinominare questo collegamento in "NO CORS", quindi modificare le proprietà di quel collegamento.
nel target aggiungere --disable-web-security --user-data-dir="D:/Chrome"
alla fine del percorso target.
il tuo obiettivo dovrebbe assomigliare a questo:
Aggiornamento: nuove bandiere aggiunte.
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --disable-web-security --user-data-dir="D:/Chrome"
utilizzando l'attuale versione di Chrome (83.0.4103.61 (build ufficiale) (64 bit)), l'unico modo per farlo funzionare nel mio test è stato avviare Chrome utilizzando i flag di seguito (modificare D: \ temp a proprio piacimento) . Questa soluzione avvia Chrome come sandbox per i test e non influisce sul profilo Chrome principale:
--disable-site-isolation-trial --disable-web-security --user-data-dir = "D: \ temp"
in Windows, fai clic sul pulsante Start, quindi copia e incolla quanto segue:
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"
sulla run
finestra su Windows 10. Grazie mille.
Puoi usare questo plugin Chrome chiamato "Allow-Control-Allow-Origin: *" ... Lo rende un morto semplice e funziona molto bene. controllalo qui: *
Per Selenium Webdriver, puoi fare in modo che Selenium avvii Chrome con gli argomenti appropriati (o "switch") in questo caso.
@driver = Selenium::WebDriver.for(:Chrome, {
:detach => false,
:switches => ["--disable-web-security"]
})
Questo plug-in di Chrome funziona per me: Allow-Control-Allow-Origin: * - Chrome Web Store
Non farlo! Stai aprendo i tuoi account agli attacchi . Una volta effettuato ciò, qualsiasi sito di terze parti può iniziare a inviare richieste ad altri siti Web, siti a cui si è effettuato l'accesso.
Esegui invece un server locale. È facile come aprire una shell / terminale / riga di comando e digitare
cd path/to/files
python -m SimpleHTTPServer
Quindi puntare il browser verso
http://localhost:8000
Se trovi che è troppo lento, considera questa soluzione
Le persone che votano a favore di questa risposta dovrebbero andare qui e votare anche questa per essere coerenti. Non ho idea del perché la mia risposta sia così sottovalutata e la stessa risposta qui è la risposta più votata.
Ti stai aprendo agli attacchi. Ogni singolo script di terze parti che includi sul tuo sito in remoto o localmente come tramite npm ora può caricare i tuoi dati o rubare le tue credenziali. Stai facendo qualcosa che non devi fare. La soluzione suggerita non è difficile, richiede 30 secondi, non ti lascia un attacco aperto. Perché dovresti scegliere di renderti vulnerabile quando la cosa migliore da fare è così semplice?
Dire alle persone di disabilitare la sicurezza è come dire ai tuoi amici di lasciare la porta aperta sbloccata e / o una chiave sotto lo zerbino. Sicuramente le probabilità potrebbero essere basse ma se vengono svaligiate, senza la prova dell'ingresso forzato potrebbero avere difficoltà a riscuotere l'assicurazione. Allo stesso modo se disabiliti la sicurezza stai facendo proprio quella disabilitazione della sicurezza . È irresponsabile farlo quando è possibile risolvere il problema in modo così semplice senza disabilitare la sicurezza. Sarei sorpreso se non potessi essere licenziato da alcune compagnie per aver disabilitato la sicurezza.
Puoi semplicemente usare questa estensione di Chrome Allow-Control-Allow-Origin
basta fare clic sull'icona dell'estensione per attivare o disattivare la condivisione tra risorse come desiderato
SOLO PER UTENTE MAC
open -n -a /Applications/Google\ Chrome.app --args --user-data-dir="/tmp/someFolderName" --disable-web-security
Su Windows 10, funzionerà quanto segue.
<<path>>\chrome.exe --allow-file-access-from-files --allow-file-access --allow-cross-origin-auth-prompt
Seguendo la risposta di Ola Karlsson, in effetti il modo migliore sarebbe aprire Chrome non sicuro in una sessione diversa. In questo modo non devi preoccuparti di chiudere tutte le schede attualmente aperte e puoi anche continuare a navigare sul Web in modo sicuro con la sessione di Chrome originale.
Questi file batch dovrebbero funzionare su Windows.
Mettilo in un file Chrome_CORS.bat per un facile utilizzo
start "" "c:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --user-data-dir="c:/_chrome_dev" --disable-web-security
Questo è per 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
Su Linux-Ubuntu, per eseguire contemporaneamente una sessione normale e una sessione non sicura, eseguire il comando seguente:
google-chrome --user-data-dir=/tmp --disable-web-security
per utenti mac:
open -a "Google Chrome" --args --disable-web-security --user-data-dir
e prima di Chrome 48, potresti semplicemente usare:
open -a "Google Chrome" --args --disable-web-security
C'è un'estensione di Chrome chiamata CORS Toggle.
Fai clic qui per accedervi e aggiungerlo a Chrome .
Dopo averlo aggiunto, impostarlo su on per consentire le richieste tra domini.
questo è un obiettivo sempre in movimento .... oggi ho dovuto aggiungere un'altra bandiera per farlo funzionare:
--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
Per Windows:
(utilizzando Windows 8.1, Chrome 44.0 )
Innanzitutto, chiudi google chrome.
Quindi, apri il prompt dei comandi e vai alla cartella in cui si trova "chrome.exe".
( for me: 'chrome.exe' is here "C:\Program Files (x86)\Google\Chrome\Application".
Così tipo I:
cd C:\Program Files (x86)\Google\Chrome\Application
)
ora digita: chrome.exe --disable-web-security
si aprirà una nuova finestra di Chrome.
Usato sotto il comando in Ubuntu per avviare Chrome (disabilita la stessa politica di origine e apri Chrome in modalità staccata):
nohup google-chrome --disable-web-security --user-data-dir='/tmp' &
Su Windows:
1) Crea un nuovo collegamento:
2) Incolla il seguente percorso:
"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) Nella pagina successiva digitare:
Unsafe Chrome.exe
Ora hai un chrome non sicuro sul desktop da utilizzare per il debug delle applicazioni CORS. Spero che questa risposta grafica aiuti alcune persone!
Prova ad accedere a questa pagina e a disabilitare la politica di sicurezza del dominio per il dominio del tuo sito web.
chrome://net-internals/#hsts
Input a domain name to delete its dynamic domain security policies (HSTS and Expect-CT). (You cannot delete preloaded entries.):
.