Wyłącz zasady tego samego pochodzenia w Chrome

1571

Czy jest jakiś sposób na wyłączenie zasady tego samego pochodzenia w przeglądarce Google Chrome ?

Landon Kuhn
źródło
1
Zobacz także peter.sh/experiments/chromium-command-line-switches , nie jestem pewien jego autentyczności, ale wydaje się, że jest to kolekcja wyprodukowana w zautomatyzowanym procesie
CSSian
1
chromium.org prowadzi do peter.shstrony, więc musi być całkiem uzasadniona.
Benjineer,
2
Pamiętaj, że wyłączenie SOP, nawet jeśli jest używane tylko do programowania, jest niebezpieczne. Gdy uruchomisz przeglądarkę w ten sposób, prawdopodobnie nie tylko otworzysz aplikację, ale także sprawdzisz swoje e-maile, przeczytasz SO… Zastanawiasz się nad zastosowaniem lepszych alternatyw, np. Serwerów proxy, aby rozwiązać te problemy. Na przykład za pośrednictwem proxrox: github.com/bripkens/proxrox
BenR
29
Od wersji 49 użyj tej opcji--disable-web-security --user-data-dir
vanduc1102
3
Dla każdego, kto szuka porady, jak to zrobić w środowisku programisty za pomocą serwera typu run-run, zobacz: gist.github.com/Vp3n/5340891
GrayedFox 13.04.16

Odpowiedzi:

1035

Zamknij chrome (lub chrome) i uruchom ponownie z --disable-web-securityargumentem. Właśnie to przetestowałem i zweryfikowałem, że mogę uzyskać dostęp do zawartości iframe za pomocą src = „http://google.com” osadzonego na stronie obsługiwanej z „localhost” (testowane pod chromem 5 / ubuntu). Dla mnie dokładne polecenie brzmiało:

Uwaga: Zabij wszystkie instancje chrome przed uruchomieniem polecenia

chromium-browser --disable-web-security --user-data-dir="[some directory here]"

Przeglądarka wyświetli ostrzeżenie, że „korzystasz z nieobsługiwanego wiersza polecenia”, gdy jest otwierany po raz pierwszy, co możesz zignorować.

Ze źródła chromu:

// Don't enforce the same-origin policy. (Used by people testing their sites.)
const wchar_t kDisableWebSecurity[] = L"disable-web-security";

Przed Chrome 48 możesz po prostu użyć:

chromium-browser --disable-web-security
Dagg Nabbit
źródło
115
Jak to zrobić w systemie OS X?
Landon Kuhn
14
@ landon9720 zobacz odpowiedź ectype .
ANeves
8
@Berty Wystarczy zamknąć chrome i otworzyć bez tagu. Chrome będzie w tym trybie tylko wtedy , gdy zostanie otwarty z tym tagiem
Nick
84
@ landon9720 Zamknij Chrome, otwórz terminal, wpiszopen /Applications/Google\ Chrome.app --args --disable-web-security
Seanonymous
17
W Chrome 48 i 49 należy również dodać --user-data-dir.
Jacob Lauritzen,
1069

Tak. W systemie OSX otwórz Terminal i uruchom:

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

- Wymagany katalog-danych-użytkownika w Chrome 49+ w OSX

W przypadku systemu Linux:

$ google-chrome --disable-web-security

Również jeśli próbujesz uzyskać dostęp do lokalnych plików do celów programistycznych, takich jak AJAX lub JSON, możesz również użyć tej flagi.

-–allow-file-access-from-files

W systemie Windows przejdź do wiersza polecenia i przejdź do folderu, w którym znajduje się Chrome.exe, i wpisz

chrome.exe --disable-web-security

To powinno wyłączyć tę samą zasadę pochodzenia i umożliwić dostęp do plików lokalnych.

Aktualizacja: w przypadku przeglądarki Chrome 22+ zostanie wyświetlony komunikat o błędzie:

Używasz nieobsługiwanej flagi wiersza polecenia: --disable-web-security. Ucierpi na tym stabilność i bezpieczeństwo.

Możesz jednak zignorować tę wiadomość podczas opracowywania.

ectype
źródło
7
Właśnie wypróbowałem to na PC (chrome 29) i wciąż dostaję te piękne Origin *** nie jest dozwolone przez Access ...
Sam
23
@Sam Upewnij się, że zamknąłeś wszystkie procesy chrome, a następnie spróbuj ponownie. Chrome wyświetli nagłówek ostrzeżenia, jeśli zrobiłeś to poprawnie: „Używasz nieobsługiwanej flagi wiersza polecenia: --disable-web-security. Będzie to miało negatywny wpływ na stabilność i bezpieczeństwo”
Morten Haraldsen
2
Czy istnieje sposób, aby zapobiec pojawianiu się komunikatu o błędzie? Używam tej flagi na cyfrowym panelu ściennym bez klawiatury i myszy.
Bart van Heukelom
64
I najwyraźniej teraz --disable-web-securitynie działa, chyba że wyraźnie też dasz --user-data-dir. tj /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --disable-web-security --user-data-dir=~/ChromeUserData/. OSX .
WiseOldDuck,
20
Nie musisz najpierw zamykać wszystkich procesów Chrome. Możesz użyć open -n. Po prostu biegnij open -n -a Google\ Chrome --args --disable-web-security --user-data-dir=/tmp/chrome. Spowoduje to otwarcie drugiej instancji aplikacji Chrome na komputerze Mac i możesz z nich korzystać obok siebie.
The Pellmeister
519

Dla użytkowników systemu Windows:

Moim zdaniem problem z przyjętym rozwiązaniem polega na tym, że jeśli masz już otwartego Chrome i spróbuj go uruchomić, to nie zadziała.

Jednak podczas badania tego natknąłem się na post na stronie Super User. Czy możliwe jest jednoczesne uruchamianie Chrome z zabezpieczeniami internetowymi i bez nich? .

Zasadniczo przez uruchomienie następującego polecenia (lub utworzenie skrótu za jego pomocą i otwarcie Chrome przez to)

chrome.exe --user-data-dir="C:/Chrome dev session" --disable-web-security

możesz otworzyć nowe „niezabezpieczone” wystąpienie Chrome, jednocześnie utrzymując inne „bezpieczne” wystąpienia przeglądarki otwarte i działające normalnie. Ważne : usuń / wyczyść C:/Chrome dev sessionfolder za każdym razem, gdy otwierasz okno, ponieważ drugi raz --disable-web-securitynie zadziała. Nie możesz więc zapisać swoich zmian, a następnie otworzyć go ponownie jako drugiej niepewnej instancji Chrome za pomocą --disable-web-security.

Ola Karlsson
źródło
17
Wielkie dzieki. dzięki temu mogłem uruchomić stronę internetową jako niezależną aplikację"C:\..\chrome.exe" --disable-web-security --user-agent="Android" --user-data-dir="C:/temp-chrome-eng" --app="file:///C:/apps/index.html"
Elvis Ciotti
2
Dokładnie to, czego potrzebowałem, próbując opracować interfejs API na moim komputerze lokalnym.
generalopinion
4
To zadziałało. Pozostawił również moją normalną instancję Chrome z włączonymi zabezpieczeniami i działającą normalnie. Tylko notatka dodatkowa, gdy działa, Chrome powiadomi Cię, że „ucierpi na tym stabilność i bezpieczeństwo”.
etoksyna
1
Jak mogę to zrobić na komputerze Mac? Wypróbowany za pomocą open -a Google\ Chrome --args --disable-web-security -–allow-file-access-from-files --user-data-dir="/Users/myuser/temp/chromeData", po prostu sprawił, że istniejące okno Chrome zyskało ostrość, nic więcej?
user3648895
17
To polecenie działa w systemie OSX, uruchamiając drugą instancję: open -n -a /Applications/Google\ Chrome.app --args --user-data-dir="/tmp/chrome_dev_session" --disable-web-security (Być może trzeba najpierw utworzyć folder tymczasowy)
chilltemp
160

W systemie Windows :

  1. Otwórz menu Start
  2. Wpisz windows+ Rlub otwórz „Uruchom”
  3. Wykonaj następujące polecenie:

    chrome.exe --user-data-dir="C://Chrome dev session" --disable-web-security

Dla komputerów Mac :

  1. Idź do terminalu
  2. Wykonaj następujące polecenie:

    open /Applications/Google\ Chrome.app --args --user-data-dir="/var/tmp/Chrome dev session" --disable-web-security

Nowa przeglądarka Chrome z wyłączonymi zabezpieczeniami internetowymi powinna zostać otwarta z następującym komunikatem:

wprowadź opis zdjęcia tutaj

GSB
źródło
7
@ downvoters proszę podać powód oddania głosu, ponieważ odpowiedź nie ma sensu
GSB
1
Działa dobrze dla mnie w systemie Windows 10, nie musiałem też zamykać innych instancji Chrome.
Nick M
Działa to w systemie Windows 10. Widziałem go gdzie indziej, ale mówi, aby uruchomić go w wierszu polecenia zamiast w systemie Windows Run.
chidimo
Działa dobrze, jak mogę użyć tych dla IE, Edge!
Jason Brody,
to działa dobrze. Przez wiele godzin cierpiałem na ten problem z CORS i znalazłem to.
Achintha
78

Dla użytkowników systemu Windows z wersjami Chrome 60.0.3112.78 (dzień przetestowania i działania rozwiązania) i przynajmniej do dziś 19.01.2019 (wer. 71.0.3578.98) . Państwo nie trzeba zamykać żadnej instancji Chrome.

  1. Utwórz skrót na pulpicie
  2. Kliknij skrót prawym przyciskiem myszy i wybierz Właściwości
  3. Edytuj właściwość Target
  4. Ustaw na „C: \ Program Files (x86) \ Google \ Chrome \ Application \ chrome.exe” --disable-web-security --user-data-dir = „C: / ChromeDevSession”
  5. Uruchom Chrome i zignoruj komunikat: - Wyłącz-bezpieczeństwo sieciowe nie jest obsługiwane!

UWAŻAJ, ABY NIE UŻYWAĆ TEJ SZCZEGÓLNEJ INSTALACJI PRZEGLĄDARKI DO PRZEGLĄDANIA, PONIEWAŻ MOŻESZ BYĆ HAKOWANY!

Ognyan Dimitrov
źródło
Działa jak urok. Nie mogę uwierzyć, że Chrome nie zezwala programistom na wyłączenie tego bez rozpoczynania nowej sesji. Przynajmniej mają sposób.
FearlessFuture
i czy nadal możesz używać Chrome do debugowania kodu źródłowego?
Righto
właśnie przetestowane, nadal możesz używać narzędzia deweloperskiego w tym trybie.
KuN
To rozwiązanie nadal działa od wersji chrom 71 Bardzo dziękuję!
Motoman
Działa z 72.0.3626.109. Bardzo mi pomógł!
Pavel Molchanov,
76

EDYCJA 3: Wygląda na to, że rozszerzenie już nie istnieje ... Zwykle w celu obejścia CORS obecnie konfiguruję inną wersję Chrome z osobnym katalogiem lub używam Firefoxa z https://addons.mozilla.org/en-US/ firefox / addon / cors-everywhere / zamiast.

EDYCJA 2: Nie mogę już tego konsekwentnie działać.

EDYCJA: Próbowałem użyć innego dnia do innego projektu i przestał działać. Odinstalowanie i ponowne zainstalowanie rozszerzenia naprawiło go (aby zresetować ustawienia domyślne).

Oryginalna odpowiedź:

Nie chciałem ponownie uruchamiać Chrome i wyłączać zabezpieczeń internetowych (ponieważ przeglądałem podczas programowania) i natknąłem się na to rozszerzenie Chrome.

Chrome Web Store Allow-Control-Allow-Origin: *
(https://chrome.google.com/webstore/detail/allow-control-allow-origi/nlfbmbojpeacfghkpbjhddihlkkiljbi?hl=pl)

Zasadniczo jest to mały przełącznik do włączania i wyłączania kontroli Allow-Access-Origin-Control. Działa idealnie dla mnie do tego, co robię.

Coburn
źródło
1
w jaki sposób osiągam i integruję się z moim rozszerzeniem, ponieważ moje rozszerzenie musi mieć dostęp do wielu domen. Nie mogę zmusić użytkownika do otwarcia przeglądarki z wyłączonym zabezpieczeniem sieci
kod
1
To rozszerzenie nie działa niestety dla plików lokalnych. --disable-web-securityW takim przypadku trzymaj się przełącznika.
bryc
2
@bryc To tak naprawdę nie jest przeznaczone. Zastanów się jednak, że możesz użyć --allow-file-access-from-fileszamiast wyłączać wszystkie zabezpieczenia sieciowe.
Coburn,
1
Ostrzeżenie! Niektóre witryny nie pozwalają na logowanie przy włączonym tym rozszerzeniu! Na przykład konsola Firebase.
campsjos
1
„Rozszerzenie już nie istnieje” czy możesz usunąć swoją odpowiedź lub przynajmniej pogrubić Edit 3 na górze
Michael Freidgeim
48

Wygląda na to, że żadne z powyższych rozwiązań nie działa. --Disable-web-bezpieczeństwo nie jest już obsługiwana w nowszych wersjach chromowanych.

Allow-Control-Allow-Origin: * - rozszerzenie chrome częściowo rozwiązało problem. Działa tylko wtedy, gdy żądanie korzysta z metody GET i nie ma niestandardowego nagłówka HTTP. W przeciwnym razie chrome wyśle ​​OPCJE żądanie HTTP jako żądanie przed lotem. Jeśli serwer nie obsługuje CORS, odpowie kodem stanu 404 HTTP. Wtyczka nie może modyfikować kodu statusu odpowiedzi HTTP. Chrom odrzuci więc tę prośbę. Wtyczka chrome nie może modyfikować kodu stanu odpowiedzi HTTP w oparciu o bieżące rozszerzenie API chrome. Nie można również wykonać przekierowania dla żądania zainicjowanego przez XHR.

Nie jestem pewien, dlaczego Chrome sprawia, że ​​życie programistów jest tak trudne. Blokuje wszystkie możliwe sposoby wyłączania sprawdzania bezpieczeństwa XSS, nawet na potrzeby programowania, co jest całkowicie niepotrzebne.

Po wielu dniach zmagań i badań jedno rozwiązanie działa dla mnie idealnie: używać corsproxy . Masz tutaj dwie opcje: 1. użyj [ https://cors-anywhere.herokuapp.com/] 2. zainstaluj corsproxy w lokalnym polu: npm install -g corsproxy

[Zaktualizowano 23 czerwca 2018 r.] Niedawno opracowuję aplikację SPA, która musi ponownie korzystać z corsproxy. Ale wygląda na to, że żaden z Corsproxy na githubie nie spełni moich wymagań.

  • ze względów bezpieczeństwa trzeba go uruchomić w zaporze. Więc nie mogę korzystać z https://cors-anywhere.herokuapp.com/ .
  • Musi obsługiwać https, ponieważ chrome zablokuje żądanie ajax bez https na stronie https.
  • Muszę biec na nodejs. Nie chcę utrzymywać innego stosu językowego.

Postanawiam więc opracować własną wersję corsproxy z nodejs. To jest naprawdę bardzo proste. Opublikowałem go jako istotę na githubie. Oto kod źródłowy: https://gist.github.com/jianwu/8e76eaec95d9b1300c59596fbfc21b10

  • Jest w prostym kodzie nodejs bez żadnych dodatkowych zależności
  • Możesz uruchomić w trybie http i https (przekazując numer portu https w wierszu poleceń), aby uruchomić https, musisz wygenerować cert i klucz i umieścić je w katalogu webroot.
  • Służy również jako statyczny serwer plików
  • Obsługuje również żądanie OPCJI przed lotem.

Aby uruchomić serwer CORSProxy (port HTTP 8080): węzeł static_server.js 8080

aby uzyskać dostęp do serwera proxy: http: // host: 8080 / http: //www.somesite.com

Jianwu Chen
źródło
Jeśli zamierzasz przejść w tym zakresie, zawsze możesz po prostu hostować serwer sieciowy lokalnie lub zdalnie, który pobiera treść z pożądanej strony, a następnie ustawić na nim odpowiednie nagłówki CORS.
Coburn,
Już wcześniej myślałem o tej trasie. Ale to wymaga trochę kodowania, szczególnie w moim przypadku muszę zadzwonić do kilku usług, które pochodzą z różnych domen. Więc muszę odwzorować inny wzorzec adresu URL na różne domeny. Właśnie to zrobił dla nas corsproxy. I działa idealnie.
Jianwu Chen
4
Nieprawda .. Sposób, o którym mowa w zaakceptowanej odpowiedzi, zadziałał dla mnie. Jak wspomniano, Chrome 49 i nowsze polecenie „chrome.exe - wyłącz-web-bezpieczeństwo - katalog-danych-użytkownika” działało dla mnie ..
Gaurang Patel
2
Chromium 53, - wyłącz-bezpieczeństwo-w sieci - katalog danych-użytkownika nie działał dla mnie
Dark Star1
4
W 53+ musisz podać unikalny katalog danych użytkownika, który różni się od twojego zwykłego katalogu. To tworzy nowy profil dla niepewnego środowiska. - user-data-dir musi być ustawiony na coś równego, tak jak w odpowiedzi Olasa powyżej. Jeśli naprawdę chcesz, MOŻESZ ustawić go na poziomie rzeczywistego folderu z normalnym profilem użytkownika, ale jest to bardzo odradzane, ponieważ pozostawia normalny profil otwarty na przypadkowe ataki, jeśli zaczniesz normalne przeglądanie w tym trybie.
lassombra,
45

W systemie Windows ... utwórz skrót Chrome na pulpicie.
Kliknij prawym przyciskiem myszy> właściwości>
Edytuj ścieżkę „docelową”:

"C:\Program Files\Google\Chrome\Application\chrome.exe" --args --disable-web-security

(Zmień „C: .... \ chrome.exe” na miejsce, w którym zawsze znajduje się twój chrom).

zrobione :)

molokoloco
źródło
Od dzisiaj 27.08.20013 działa dla mnie, pozwalając mi na wykonanie Ajax na moim lokalnym hoście.
molokoloco
masz „używasz nieobsługiwanego tagu wiersza polecenia: --disable-web-security” w wersji Canary 53
khoailang
4
@khoailang nadal możesz używać przełącznika. To ostrzeżenie jest częścią wojny Google o niepewność (dobra rzecz). Ponadto, począwszy od wersji 55+, musisz także używać --user-data-dir = <inny katalog tutaj>, więc Google nie chce, abyś mieszał niebezpieczne reguły z normalnymi profilami.
lassombra,
43

Wypróbuj to polecenie na terminalu Mac

open -n -a "Google Chrome" --args --user-data-dir=/tmp/temp_chrome_user_data_dir http://localhost:8100/ --disable-web-security 

Otwiera kolejną instancję chrome z wyłączonymi zabezpieczeniami i nie ma już problemu z CORS. Ponadto nie musisz już zamykać innych instancji chrome. Zmień adres URL hosta lokalnego na swój.

Vivek Sinha
źródło
Większość powyższych odpowiedzi z wiersza poleceń nie poprawiła mi systemu macOS. Jednak ten post alfilatov.com/posts/run-chrome-without-cors i otwarta linia poleceń działały dla mnie. Jest to to samo co powyższe polecenie, więc głosuj w górę.
Max MacLeod
40

Uważam, że najlepszym sposobem na to jest skopiowanie skrótu Chrome lub Chrome Canary na pulpicie systemu Windows. Zmień nazwę tego skrótu na „NO CORS”, a następnie edytuj właściwości tego skrótu.

w celu dodaj --disable-web-security --user-data-dir="D:/Chrome"na końcu ścieżki docelowej.

Twój cel powinien wyglądać mniej więcej tak:

Aktualizacja: Dodano nowe flagi.

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

wprowadź opis zdjęcia tutaj

etoksyna
źródło
To po prostu daje mi teraz 404 zamiast błędu przed lotem
L1ghtk3ira
Błąd 404 to błąd związany z serwerem, a nie błąd Google Chrome.
etoksyna
2
@etoxin Ta odpowiedź nie jest już aktualna w najnowszej wersji chrome. Musisz dodać --disable-web-security --user-data-dir = "D: / Chrome"
Vignesh S 24.09.16
29

przy użyciu bieżącej najnowszej wersji chrome (83.0.4103.61 (oficjalna wersja) (64-bit)), jedynym sposobem, aby działał w moim teście, było uruchomienie chrome przy użyciu poniższych flag (zmień D: \ temp na swoje upodobania) . To rozwiązanie uruchomi Chrome jako piaskownicę do testów i nie wpłynie na główny profil chrome:

--disable-site-isolation-trials --disable-web-security --user-data-dir = "D: \ temp"

w systemie Windows kliknij przycisk Start, a następnie skopiuj i wklej poniżej:

chrome.exe  --disable-site-isolation-trials --disable-web-security --user-data-dir="D:\temp"
użytkownik2576266
źródło
5
To jedyne rozwiązanie, które działa dla mnie. Uruchomiłem to chrome.exe --disable-site-isolation-trials --disable-web-security --user-data-dir="D:\temp"w runsystemie Windows 10. Bardzo dziękuję.
Sampath,
HAIR PULLING ARGHGHGH - wydaje się, że już nie działa
Daniel Sokolowski
1
Dodanie prób --disable-site-izolacji-naprawdę pomogło mi w moim przypadku, Chrome v 75.0, Selenium Web Driver, Java. Dzięki!
Nikolay Chernov
Jeśli chcesz tylko przetestować stronę z cors, użyj Safari, w którym musisz tylko włączyć i wyłączyć opcje, zamiast uruchamiać inną instancję przeglądarki lub instancję zabijania: [ stackoverflow.com/a/12158217/922457 ]
Edenshaw
1
Pracował dla mnie w systemie Windows! Dziękuję!
Jánosi-Borsos Róbert
20

Możesz użyć tej chromowanej wtyczki o nazwie „Allow-Control-Allow-Origin: *” ... To sprawia, że ​​jest to bardzo prosta i działa bardzo dobrze. sprawdź tutaj: *

Rozszerzenie Chrome

Mohamed Saleh
źródło
4
Ustawia witrynę „evil.com” jako źródło, wygląda podejrzanie.
Suprido
5
Nie działa już zgodnie z datą tego komentarza. Poleciłbym po prostu użyć trasy z flagą.
NJDawson,
19

W przypadku Selenium Webdriver możesz w tym przypadku uruchomić selen w Chrome z odpowiednimi argumentami (lub „przełącznikami”).

 @driver = Selenium::WebDriver.for(:Chrome, { 
       :detach => false,
       :switches => ["--disable-web-security"]
    })
mikelupo
źródło
1
to dwa poprzedzające myślniki dla wyłączania bezpieczeństwa w sieci. w mojej przeglądarce wyglądało to jak jedna długa kreska.
mikelupo
Napisałem mały post o chromie bez korków
Alex Filatov
14

Jeśli używasz przeglądarki Google Chrome w systemie Linux, działa następujące polecenie.

google-chrome  --disable-web-security
chanty
źródło
13

Ta wtyczka do Chrome działa dla mnie: Allow-Control-Allow-Origin: * - Chrome Web Store

Bruce
źródło
5
Ta wtyczka zepsuła się w mojej przeglądarce i zaczęła łamać wszystkie rzeczy XHR. Używaj ostrożnie.
etoksyna
1
Ta wtyczka została usunięta ze sklepu Chrome
Yipeekiyay
13

Nie rób tego! Otwierasz swoje konta na ataki . Po wykonaniu tej czynności dowolna witryna innej firmy może zacząć wysyłać żądania do innych witryn, do których jesteś zalogowany.

Zamiast tego uruchom serwer lokalny. To tak proste, jak otwarcie powłoki / terminalu / linii poleceń i pisanie

cd path/to/files
python -m SimpleHTTPServer

Następnie skieruj przeglądarkę na

http://localhost:8000

Jeśli uznasz, że jest zbyt wolny, rozważ to rozwiązanie

Aktualizacja

Ludzie głosujący za odpowiedzią na tę odpowiedź powinni przejść tutaj i głosować na tę odpowiedź, aby zachować spójność. Nie mam pojęcia, dlaczego moja odpowiedź jest tak zaniżona, a ta sama odpowiedź tutaj jest najczęściej głosowaną odpowiedzią.

Ci otwarcie się do ataków. Każdy skrypt innej firmy, który umieścisz na swojej stronie zdalnie lub lokalnie, np. Za pośrednictwem npm, może teraz przesyłać twoje dane lub ukraść twoje dane uwierzytelniające. Robisz coś, czego nie musisz robić. Sugerowane rozwiązanie nie jest trudne, zajmuje 30 sekund, nie pozostawia otwartego ataku. Dlaczego miałbyś się narażać na ataki, skoro lepsza rzecz jest tak prosta?

Mówienie ludziom o wyłączeniu bezpieczeństwa jest jak mówienie znajomym, aby zostawili otwarte drzwi frontowe i / lub klucz pod wycieraczką. Oczywiście szanse mogą być niskie, ale jeśli zostaną włamane, bez dowodu przymusowego wejścia mogą mieć trudności z uzyskaniem ubezpieczenia. Podobnie, jeśli wyłączysz zabezpieczenia , robisz właśnie to wyłączenie bezpieczeństwa . Jest to nieodpowiedzialne, gdy można rozwiązać problem w prosty sposób, bez wyłączania zabezpieczeń. Byłbym zaskoczony, gdybyś nie mógł zostać zwolniony w niektórych firmach za wyłączenie zabezpieczeń.

gman
źródło
9
To nie otworzyłoby „twojej maszyny” na ataki. Złośliwy kod JavaScript nie byłby w stanie wiele zrobić na samym komputerze klienckim. Zezwolisz jednak złośliwemu kodowi JavaScript na potencjalne manipulowanie kontami na innych stronach internetowych (Facebook / Administracje / Banki / ...). To z pewnością nie jest mniej niebezpieczne, ale jest zupełnie inne.
dim
2
Mimo to użytkownicy mogą to zrobić. Problemem nie jest uruchomienie serwera. Problem polega na testowaniu CORS przed umieszczeniem go na serwerze akceptacji / produkcji, gdzie ta zmiana nie jest potrzebna. Modyfikacja pliku hosts również nie działałaby.
Jeff Huijsmans
Nie można testować CORS bez serwera, ponieważ CORS jest technologią po stronie serwera. Aby przetestować CORS, musisz skonfigurować serwer do wysyłania nagłówków CORS. Są dwie rzeczy do przetestowania (1), czy serwer wysyła nagłówki (2), jeśli serwer wysyła nagłówki, czy możesz użyć zasobu w przeglądarce. Zarówno (1), jak i (2) wymagają serwera. Jeśli chcesz zrobić tylko 2, możesz użyć tego serwera, ale nadal będziesz musiał przetestować (2) na dowolnym serwerze, który zamierza serwerować twoją stronę produkcyjną.
gman
11

Możesz po prostu użyć tego chromowanego rozszerzenia Allow-Control-Allow-Origin

wystarczy kliknąć ikonę rozszerzenia, aby włączyć lub wyłączyć udostępnianie między zasobami, jak chcesz

Peter Wilson
źródło
Link jest martwy.
Witalij Zdanewicz
Nie jest. I tak, działa. Ale jesteśmy tutaj, ponieważ teraz rozumiemy, co oznacza polecenie, więc wcześniej zastosuj powyższe rozwiązania!
Jánosi-Borsos Róbert
@ Jánosi-BorsosRóbert, którzy są objęci twoim „my” i jak twoja wiedza na temat znaczenia polecenia może cię tu sprowadzić? FYI: Twoje polecenie jest nieprecyzyjne, a ja nie posłuchałem;)
Superole
10

TYLKO DLA UŻYTKOWNIKÓW MAC

open -n -a /Applications/Google\ Chrome.app --args --user-data-dir="/tmp/someFolderName" --disable-web-security
Saurabh Chandra Patel
źródło
jak przywrócić tę zmianę @saurab
Mohasin Ali
@MohasinAli zamknij wszystkie chromowane okna i po prostu uruchom je normalnie. Wpływa tylko na instancję uruchomioną z tym argumentem. Jeśli uruchomisz go ponownie bez żadnych argumentów, zmiana nie zostanie zastosowana.
Jeff Huijsmans
9
chromium-browser --disable-web-security --user-data-dir=~/ChromeUserData/
MechaCode
źródło
7

W systemie Windows 10 następujące funkcje będą działać.

<<path>>\chrome.exe --allow-file-access-from-files --allow-file-access --allow-cross-origin-auth-prompt
ItsAllABadJoke
źródło
Jestem zaskoczony, że Twoja odpowiedź została odrzucona. Działa to dla mnie bardzo dobrze w przypadku plików lokalnych z najnowszą wersją Chrome.
Waruyama,
@CHANist: Być może dlatego OP powiedział: „W systemie Windows 10 ” ...?
Lawrence Dol
7

Postępując zgodnie z odpowiedzią Oli Karlsson, rzeczywiście najlepszym sposobem byłoby otwarcie niebezpiecznego Chrome w innej sesji. W ten sposób nie musisz się martwić zamknięciem wszystkich aktualnie otwartych kart, a także możesz bezpiecznie surfować po Internecie dzięki oryginalnej sesji Chrome.

Te pliki wsadowe powinny po prostu działać w systemie Windows.

Umieść go w pliku Chrome_CORS.bat, aby ułatwić korzystanie z niego

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

Ten jest dla 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
guya
źródło
Jest to bezcelowe użycie pliku wsadowego. Skrót byłby do tego znacznie lepszy. Po prostu umieść wszystko po pierwszej parze cudzysłowów jako cel skrótu.
lassombra,
To naprawdę nie ma znaczenia. Jednak w partii możesz zrobić więcej rzeczy, na przykład usunąć katalog danych użytkownika po zamknięciu przeglądarki.
guya
To prawda, że ​​dodanie zachowania poza samym uruchomieniem byłoby przydatne, ale dla większości osób, które potrzebują tego w
dłuższej perspektywie,
7

W systemie Linux-Ubuntu, aby jednocześnie uruchomić normalną sesję i sesję niebezpieczną, uruchom następującą komendę:

google-chrome  --user-data-dir=/tmp --disable-web-security
Santiago M. Quintero
źródło
6

dla użytkowników komputerów Mac:

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

a przed Chrome 48 możesz po prostu użyć:

open -a "Google Chrome" --args --disable-web-security
Braian Mellor
źródło
Dzięki. Działa to w najnowszym Chrome 73, który zawierał nową politykę bezpieczeństwa CORB.
StuyvesantBlue
6

W systemie OSX uruchom następujące polecenie z terminala:

open -na Google\ Chrome --args --disable-web-security --user-data-dir=$HOME/profile-folder-name

Spowoduje to uruchomienie nowej instancji przeglądarki Google Chrome z ostrzeżeniem na górze.

malajski
źródło
5

to jest ciągle ruchomy cel ... dzisiaj musiałem dodać kolejną flagę, aby działała: --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

denodster
źródło
3

Dla Windowsa:

(przy użyciu Windows 8.1, chrome 44.0 )

Najpierw zamknij Google Chrome.

Następnie otwórz wiersz polecenia i przejdź do folderu, w którym znajduje się „chrome.exe”.

( for me: 'chrome.exe' is here "C:\Program Files (x86)\Google\Chrome\Application".

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

teraz wpisz: chrome.exe --disable-web-security

otworzy się nowe okno chrome.

AFA
źródło
3

Używany poniżej polecenia w Ubuntu do uruchomienia chrome (wyłącz tę samą zasadę pochodzenia i otwórz chrome w trybie odłączonym):

nohup google-chrome --disable-web-security --user-data-dir='/tmp' &
Ashutosh Tripathy
źródło
3

W systemie Windows:

1) Utwórz nowy skrót:

Utwórz nowy skrót

2) Wklej następującą ścieżkę:

"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"

Wklej ścieżkę

3) Na następnej stronie wpisz:

Unsafe Chrome.exe

wprowadź opis zdjęcia tutaj

Teraz na pulpicie znajduje się niebezpieczny chrome do debugowania aplikacji CORS. Mam nadzieję, że ta graficzna odpowiedź pomoże niektórym ludziom!

Shadi Namrouti
źródło
1

Spróbuj przejść do tej strony i wyłączyć zasady zabezpieczeń domeny dla domeny witryny.

chrome://net-internals/#hsts
Rahul Malu
źródło
1
Proszę wytłumacz. Na tej stronie u dołu widzę Input a domain name to delete its dynamic domain security policies (HSTS and Expect-CT). (You cannot delete preloaded entries.):.
Witalij Zdanewicz
Czy ktoś to rozwiązał?
Yipeekiyay
@RahulMalu, czy udało ci się to jakoś zadziałać?
Ben Racicot