Czy jest jakiś sposób na wyłączenie zasady tego samego pochodzenia w przeglądarce Google Chrome ?
javascript
ajax
google-chrome
Landon Kuhn
źródło
źródło
peter.sh
strony, więc musi być całkiem uzasadniona.--disable-web-security --user-data-dir
Odpowiedzi:
Zamknij chrome (lub chrome) i uruchom ponownie z
--disable-web-security
argumentem. 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
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:
Przed Chrome 48 możesz po prostu użyć:
źródło
open /Applications/Google\ Chrome.app --args --disable-web-security
--user-data-dir
.Tak. W systemie OSX otwórz Terminal i uruchom:
- Wymagany katalog-danych-użytkownika w Chrome 49+ w OSX
W przypadku systemu Linux:
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.
W systemie Windows przejdź do wiersza polecenia i przejdź do folderu, w którym znajduje się Chrome.exe, i wpisz
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:
Możesz jednak zignorować tę wiadomość podczas opracowywania.
źródło
--disable-web-security
nie 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 .open -n
. Po prostu biegnijopen -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.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)
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 session
folder za każdym razem, gdy otwierasz okno, ponieważ drugi raz--disable-web-security
nie 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
.źródło
"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"
, po prostu sprawił, że istniejące okno Chrome zyskało ostrość, nic więcej?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)W systemie Windows :
Wykonaj następujące polecenie:
Dla komputerów Mac :
Wykonaj następujące polecenie:
Nowa przeglądarka Chrome z wyłączonymi zabezpieczeniami internetowymi powinna zostać otwarta z następującym komunikatem:
źródło
Run
.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.
UWAŻAJ, ABY NIE UŻYWAĆ TEJ SZCZEGÓLNEJ INSTALACJI PRZEGLĄDARKI DO PRZEGLĄDANIA, PONIEWAŻ MOŻESZ BYĆ HAKOWANY!
źródło
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ę.
źródło
--disable-web-security
W takim przypadku trzymaj się przełącznika.--allow-file-access-from-files
zamiast wyłączać wszystkie zabezpieczenia sieciowe.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ń.
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
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
źródło
W systemie Windows ... utwórz skrót Chrome na pulpicie.
Kliknij prawym przyciskiem myszy> właściwości>
Edytuj ścieżkę „docelową”:
(Zmień „C: .... \ chrome.exe” na miejsce, w którym zawsze znajduje się twój chrom).
zrobione :)
źródło
Wypróbuj to polecenie na terminalu Mac
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.
źródło
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.
źródło
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:
w systemie Windows kliknij przycisk Start, a następnie skopiuj i wklej poniżej:
źródło
chrome.exe --disable-site-isolation-trials --disable-web-security --user-data-dir="D:\temp"
wrun
systemie Windows 10. Bardzo dziękuję.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: *
źródło
W przypadku Selenium Webdriver możesz w tym przypadku uruchomić selen w Chrome z odpowiednimi argumentami (lub „przełącznikami”).
źródło
Jeśli używasz przeglądarki Google Chrome w systemie Linux, działa następujące polecenie.
źródło
Ta wtyczka do Chrome działa dla mnie: Allow-Control-Allow-Origin: * - Chrome Web Store
źródło
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
Następnie skieruj przeglądarkę na
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 są 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ń.
źródło
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
źródło
TYLKO DLA UŻYTKOWNIKÓW MAC
źródło
źródło
W systemie Windows 10 następujące funkcje będą działać.
źródło
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
Ten jest dla Chrome Canary . Canary_CORS.bat
źródło
W systemie Linux-Ubuntu, aby jednocześnie uruchomić normalną sesję i sesję niebezpieczną, uruchom następującą komendę:
źródło
dla użytkowników komputerów Mac:
a przed Chrome 48 możesz po prostu użyć:
źródło
Istnieje rozszerzenie Chrome o nazwie CORS Toggle.
Kliknij tutaj, aby uzyskać do niego dostęp i dodać go do Chrome .
Po dodaniu przełącz go na pozycję włączoną, aby zezwolić na żądania między domenami.
źródło
W systemie OSX uruchom następujące polecenie z terminala:
Spowoduje to uruchomienie nowej instancji przeglądarki Google Chrome z ostrzeżeniem na górze.
źródło
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
źródło
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”.
Tak Typ I:
cd C:\Program Files (x86)\Google\Chrome\Application
)teraz wpisz:
chrome.exe --disable-web-security
otworzy się nowe okno chrome.
źródło
Używany poniżej polecenia w Ubuntu do uruchomienia chrome (wyłącz tę samą zasadę pochodzenia i otwórz chrome w trybie odłączonym):
źródło
W systemie Windows:
1) Utwórz nowy skrót:
2) Wklej następującą ścieżkę:
3) Na następnej stronie wpisz:
Teraz na pulpicie znajduje się niebezpieczny chrome do debugowania aplikacji CORS. Mam nadzieję, że ta graficzna odpowiedź pomoże niektórym ludziom!
źródło
Spróbuj przejść do tej strony i wyłączyć zasady zabezpieczeń domeny dla domeny witryny.
źródło
Input a domain name to delete its dynamic domain security policies (HSTS and Expect-CT). (You cannot delete preloaded entries.):
.