Wyłącz zabezpieczenia internetowe w Chrome 48+

86

Mam problem z --disable-web-securityflagą. Nie działa w Chrome 48 i Chrome 49 beta w systemie Windows.

Próbowałem najpierw zabić wszystkie instancje, zrestartować i uruchomić Chrome z flagą, wypróbowałem też różne maszyny. W wersji beta widzę wyskakujące okienko z ostrzeżeniem („Używasz nieobsługiwanej flagi…”), ale CORS jest nadal wymuszany. Wersja publiczna wydaje się całkowicie ignorować flagę.

Wydaje się, że nie ma na ten temat żadnych wiadomości ani raportów od ludzi, więc może to być problem lokalny. Będzie wdzięczny za pomoc lub wszelkie powiązane informacje.

Anatolij Sazanov
źródło
Odpowiedzialni programiści nie wyłączają stackoverflow.com/a/33801287/128511
gman

Odpowiedzi:

38

Aktualizacja 2020-04-30

Od wersji Chrome 81 konieczne jest podanie zarówno --disable-site-isolation-trials niepustej ścieżki profilu, jak i --user-data-dir, --disable-web-securityaby odniosły skutek:

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

(Spekulacje) Jest prawdopodobne, że Chrome wymaga niepustej ścieżki do profilu, aby złagodzić wysokie ryzyko bezpieczeństwa związane z uruchamianiem przeglądarki z wyłączonymi zabezpieczeniami sieciowymi w profilu domyślnym. Zobacz --user-data-dir=vs, --user-data-dir=/some/path aby uzyskać więcej informacji poniżej.

Dzięki @ Snæbjørn za wskazówkę dotyczącą Chrome 81 w komentarzach.


Aktualizacja 2020-03-06

Począwszy od Chrome 80 (być może nawet wcześniej), połączenie flag --user-data-dir=/tmp/some-path --disable-web-security --disable-site-isolation-trials nie wyłącza już zabezpieczeń internetowych .

Nie jest jasne, kiedy baza kodów Chromium uległa regresji, ale pobranie starszej wersji Chromium (zgodnie z „Nie tak łatwymi krokami” na stronie pobierania Chromium ) jest jedynym rozwiązaniem, które znalazłem. Skończyło się na wersji 77.0.3865.0, która poprawnie wyłącza zabezpieczenia internetowe za pomocą tych flag.


Oryginalny post 01.11.2019

W Chrome 67+ konieczne jest przekazanie --disable-site-isolation-trialsflagi obok argumentów --user-data-dir=i --disable-web-securityrzeczywiste wyłączenie zabezpieczeń internetowych.

W systemie MacOS pełne polecenie to:

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

Jeżeli chodzi o --user-data-dir

Zgodnie z odpowiedzią Davida Ameya nadal konieczne jest określenie, --user-data-dir=aby Chrome przestrzegał tej --disable-web-securityopcji.

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

Chociaż przejście przez pustą ścieżkę za pośrednictwem --user-data-dir=działa z --disable-web-security, nie jest zalecane ze względów bezpieczeństwa, ponieważ używa domyślnego profilu Chrome, który ma aktywne sesje logowania do poczty e-mail itp. Przy wyłączonych zabezpieczeniach Chrome Twoje aktywne sesje są zatem narażone na dodatkowe in- exploity przeglądarki.

Dlatego zaleca się użycie alternatywnego katalogu dla profilu Chrome z --user-data-dir=/tmp/chrome-seshlub odpowiednikiem. Podziękowania dla @James B za wskazanie tego w komentarzach.

Źródło

Ta poprawka została odkryta w ramach testowania przeglądarki Cypress: https://github.com/cypress-io/cypress/issues/1951

mxxk
źródło
3
Tylko dlatego, że wartość nie jest wymagana, aby działała, nie oznacza, że ​​jest to dobry pomysł. Uruchomienie polecenia, które wydasz, otworzy domyślny profil Chrome z ustalonymi sesjami do poczty e-mail / banku / cokolwiek, ale bez zabezpieczeń internetowych, aby zapobiec włamaniu do tych kont przez złośliwe witryny.
James B
Słuszna uwaga @JamesB. Włożyłem twój wgląd w odpowiedź.
mxxk
Na moim Macu z Chrome 81 to polecenie zadziałało: open -na Google\ Chrome --args --disable-web-security --disable-gpu --user-data-dir=~/chromeTempotrzymuję alert narzekający na ~/chromeTempkatalog, ale działa
David
1
Utknąłem w Enterprise Chrome 79-ish i mogę potwierdzić, że flagi bezpieczeństwa nadal działają.
Boris
1
Mogę potwierdzić, że --user-data-dir=C:\tmp\some-path --disable-web-security --disable-site-isolation-trialsdziała w Chrome 81 w
systemie
87

Widzę to samo. Szybkie Google znalazło to pytanie i błąd na forach poświęconych chromowi . Wygląda na to, że --user-data-dirflaga jest teraz wymagana. Edytuj, aby dodać przewodnik po katalogu danych użytkownika

David Amey
źródło
4
Dziękuję, działa! Jednak puste --user-data-dir nie działa już w wersji beta. Należy podać wartość do danych użytkownika, aby obie flagi działały.
Anatolij Sazanov
Dziękuję za odpowiedź. Nadal miałem problemy, ponieważ nigdy wcześniej tego nie wdrażałem, więc jeśli po przeczytaniu powyższego ludzie nadal są zdezorientowani, zobacz moją odpowiedź poniżej.
Dan Zuzevich
60

System operacyjny Mac:

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

UPD: dodaj =do --user-data-dirponieważ nowsze wersje chromowane wymagają pracy w celu

jirikolarik
źródło
2
Ponieważ zostało to naprawione, musisz określić katalog danych użytkownika, więc: open -a Google\ Chrome --args --disable-web-security --user-data-dir=/some/dir
David Amey,
9
Chrome w wersji 50+ dla użytkowników komputerów Mac. Najpierw zamknij wszystkie otwarte chrome i uruchom poniższe polecenie open -a Google\ Chrome --args --disable-web-security --user-data-dir=""
Velu S Gautam
Uwaga: powinien pojawić się baner z informacją „zabezpieczenia internetowe są wyłączone”. Jeśli ten baner się nie pojawi, musisz wymusić zamknięcie chrome przed uruchomieniem polecenia (kliknij prawym przyciskiem myszy ikonę szybkiego uruchamiania -> zakończ -> uruchom ponownie polecenie).
Z. Bagley,
Uwaga ! Od wersji Chrome 80 już --user-data-dir=""nie działa --disable-web-security. Musisz wyznaczyć prawdziwą ścieżkę, taką jak--user-data-dir="/tmp/temppropfile"
keul
26

W systemie OS X, aby otworzyć nowe okno Chrome - bez konieczności wcześniejszego zamykania już otwartych okien - wprowadź dodatkową flagę -n . Upewnij się, że podałeś pusty ciąg dla katalogu-danych (wymagany w nowszych wersjach Chrome, np. V50 coś +).

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

Odkryłem, że używając Chrome 60+ na Mac OS X Sierra, powyższe polecenie już nie działa, ale niewielka modyfikacja działa:

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

Ścieżka do katalogu danych jest ważna. Nawet jeśli stoisz w swoim katalogu domowym podczas wydawania polecenia, nie możesz po prostu odwołać się do katalogu lokalnego. To musi być ścieżka absolutna.

Per Quested Aronsson
źródło
1
Dzięki! Rozszerzenie Google, Allow-Control-Allow-Origin: nie działało dla mnie, ale tak!
user2326737
23

Wybrana odpowiedź jest dobra, ale dla tych, którzy wciąż borykają się z tym, o czym mówią (pierwszy raz zajmujesz się tym problemem), działały dla mnie następujące.

Utworzyłem nowy skrót do Chrome na moim pulpicie, kliknąłem go prawym przyciskiem myszy i ustawiłem pole „Cel” na następujące:

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

Katalog może być dowolny, postanowiłem zrobić pusty folder o nazwie chrome dev w moim katalogu C :. Nie ma to nic wspólnego z zainstalowaniem przeglądarki Chrome na komputerze. To tylko rodzaj puchu.

To łącze zawiera również jasne wskazówki dla innych systemów operacyjnych. Jak wyłączyć zabezpieczenia internetowe w przeglądarce Chrome

Dan Zuzevich
źródło
15

Wersja 49.0.2623.75 (64-bitowa) nie jest już w wersji beta.

Polecenie naprawiające problem z CORS to google-chrome-stable --disable-web-security --user-data-dir

user2634882
źródło
1
Czy muszę to robić za każdym razem?
Compaq LE2202x
10

Zainstaluj tę wtyczkę Chrome, aby wyłączyć zabezpieczenia internetowe w przeglądarce Chrome:

Link „Allow-Control-Allow-Origin: *” Tutaj lub możesz wyszukać w Google powyższą wtyczkę, jeśli chcesz.

bardzo łatwo jest włączać i wyłączać zabezpieczenia za pomocą tej wtyczki.

Mehul D
źródło
1
Link wygasł
Andrius Naruševičius
3

Chrome w wersji 50+ dla użytkowników komputerów Mac. Najpierw zamknij wszystkie otwarte chrome i uruchom poniższe polecenie

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

Powyższe zadziała. Dzięki

Velu S Gautam
źródło
2

W przypadku komputerów Mac używanie Safari jest dobrą alternatywną opcją do lokalnego programowania, a ta funkcja jest wbudowana w przeglądarkę (więc nie ma potrzeby dodawania rozszerzenia przeglądarki ani uruchamiania Chrome za pomocą polecenia bash, takiego jak [open -a Google \ Chrome --args --disable -web-security --user-data-dir = ""].

Aby wyłączyć ograniczenie między źródłami przy użyciu przeglądarki Safari (v11 +): W menu kliknij „Opracuj> Wyłącz ograniczenie między źródłami”.

Nie wymaga to ponownego uruchamiania przeglądarki, a ponieważ jest to przełącznik, możesz łatwo przełączyć się w tryb bezpieczny.

Maksood
źródło
2

W terminalu umieść te:

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

chrome.exe --disable-web-security --user-data-dir="c:/chromedev"
Tabares
źródło
1

Na dzień tej odpowiedzi (marzec 2020 r.) Dostępna jest wtyczka do przeglądarki Chrome o nazwie Odblokowywanie CORS, która umożliwia pominięcie tej zasady przeglądarki. „Zasady tego samego pochodzenia” to ważna funkcja zabezpieczeń przeglądarek. Zainstaluj tę wtyczkę tylko do celów programistycznych lub testowych. Nie promuj jego instalacji w przeglądarkach klientów końcowych, ponieważ narażasz bezpieczeństwo użytkowników, a społeczność chrome zostanie zmuszona do usunięcia tej wtyczki ze sklepu.

JorgeMora
źródło
1

Od wersji Chorme v81 parametry --user-data-dir=wymagają rzeczywistego parametru, podczas gdy w przeszłości tak nie było. Coś takiego działa dla mnie dobrze

"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --disable-web-security --user-data-dir="\tmp\chrome_test"
Irrech
źródło
0

To działa dla mnie. Spróbuj tego użyć… to ci pomoże…

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

Ruchi Prasad
źródło