Frage Deaktivieren Sie dieselbe Herkunftsrichtlinie in Chrome


Gibt es eine Möglichkeit, das zu deaktivieren? Gleiche Herkunftspolitik auf Google's Chrom Browser?

Dies ist ausschließlich für die Entwicklung, nicht für die Produktion.


1077
2018-06-23 15:00


Ursprung


Antworten:


Schließen Sie Chrom (oder Chrom) und starten Sie mit --disable-web-security Streit. Ich habe das gerade getestet und überprüft, dass ich auf den Inhalt eines Iframes mit src = "http://google.com" zugreifen kann, das in eine Seite eingebettet ist, die von "localhost" geliefert wird (getestet unter Chrom 5 / ubuntu). Für mich war das genaue Kommando:

Hinweis: Beenden Sie alle Chrome-Instanzen, bevor Sie den Befehl ausführen

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

Der Browser wird Sie warnen, dass "Sie eine nicht unterstützte Befehlszeile verwenden" beim ersten Öffnen, die Sie ignorieren können.

Von der Chromquelle:

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

Vor Chrome 48 können Sie einfach Folgendes verwenden:

chromium-browser --disable-web-security

786
2017-07-05 07:20



Ja. Öffnen Sie Terminal unter OSX und führen Sie Folgendes aus:

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

--user-data-dir ist für Chrome 49+ unter OSX erforderlich

Für Linux:

$ google-chrome --disable-web-security

Wenn Sie versuchen, auf lokale Dateien für Entwicklungszwecke wie AJAX oder JSON zuzugreifen, können Sie auch dieses Flag verwenden.

-–allow-file-access-from-files

Für Windows gehen Sie in die Eingabeaufforderung und gehen Sie in den Ordner wo Chrome.exe ist und geben Sie ein

chrome.exe --disable-web-security

Das sollte die gleiche Ursprungsrichtlinie deaktivieren und Ihnen ermöglichen, auf lokale Dateien zuzugreifen.

Aktualisieren: Für Chrome 22+ wird eine Fehlermeldung angezeigt, die besagt:

Sie verwenden ein nicht unterstütztes Befehlszeilenflag: --disable-web-security. Stabilität und Sicherheit werden leiden.

Sie können diese Nachricht jedoch während der Entwicklung ignorieren.


896
2018-05-21 18:36



Für Windows Benutzer:

Das Problem mit der hier akzeptierten Lösung besteht meines Erachtens darin, dass, wenn Sie Chrome bereits geöffnet haben und versuchen, es auszuführen, es nicht funktioniert.

Als ich dies jedoch recherchierte, stieß ich auf einen Post auf Super User, Ist es möglich, Chrome gleichzeitig mit und ohne Websicherheit auszuführen?.

Grundsätzlich, indem Sie den folgenden Befehl ausführen (oder eine Verknüpfung damit erstellen und Chrome dadurch öffnen)

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

Sie können eine neue "unsichere" Instanz von Chrome gleichzeitig öffnen, während Sie Ihre anderen "sicheren" Browser-Instanzen geöffnet lassen und wie gewohnt arbeiten.


364
2017-10-11 12:13



Ich wollte Chrome nicht neu starten und meine Websicherheit deaktivieren (weil ich während der Entwicklung gesucht habe) und stolperte auf diese Chrome-Erweiterung.

Chrome Web Store Erlauben-Steuerelement-Zulassen-Ursprung: *
(https://chrome.google.com/webstore/detail/allow-control-allow-origi/nlfbmbojpeacfghkpbjhddihlkkiljbi?hl=de)

Im Grunde ist es ein kleiner Kippschalter, um die Allow-Access-Origin-Control-Kontrolle ein- und auszuschalten. Funktioniert perfekt für das, was ich mache.

EDIT: Ich habe versucht, das gerade neulich für ein anderes Projekt und es funktioniert nicht mehr. Deinstallation und Neuinstallation der Erweiterung behoben (um die Standardeinstellungen zurückzusetzen).


61
2018-06-20 06:03



Zum Windows:

  1. Öffne das Startmenü
  2. Art Fenster+R oder öffne "Run"
  3. Führen Sie den folgenden Befehl aus:

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

Zum Mac:

  1. Gehe zum Terminal
  2. Führen Sie den folgenden Befehl aus:

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

Ein neuer Browser mit deaktiviertem Chrome-Browser sollte mit der folgenden Meldung geöffnet werden:

enter image description here


57
2018-02-03 12:59



Unter Windows ... erstellen Sie eine Chrome-Verknüpfung auf Ihrem Desktop.
Klicken Sie mit der rechten Maustaste auf Eigenschaften> Verknüpfung
Bearbeiten Sie den Zielpfad:

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

(Ändern Sie die "C: .... \ chrome.exe" an die Stelle, an der sich Ihr Chrom befindet).

et voilà :)


38
2017-08-27 12:43



Scheint keiner der oben genannten Lösungen funktionieren tatsächlich. Das --disable-web-Sicherheit wird in den letzten Chrome-Versionen nicht mehr unterstützt.

Zulassen-Steuerung-Zulassen-Ursprung: * - Chrome-Erweiterung teilweise das Problem gelöst. Es funktioniert nur, wenn Ihre Anforderung die GET-Methode verwendet und es keinen benutzerdefinierten HTTP-Header gibt. Andernfalls sendet chrome die OPTIONS-HTTP-Anfrage als Pre-Flight-Anfrage. Wenn der Server CORS nicht unterstützt, antwortet er mit dem HTTP-Statuscode 404. Das Plugin kann den HTTP-Statuscode der Antwort nicht ändern. Chrome wird diese Anfrage also ablehnen. Es gibt keine Möglichkeit für Chrome-Plugins, den HTTP-Statuscode der Antwort basierend auf der aktuellen Chrome-Erweiterungs-API zu ändern. Und Sie können auch keine Weiterleitung für XHR-initiierte Anfrage durchführen.

Nicht sicher, warum Chrome das Leben von Entwicklern so schwierig macht. Es blockiert alle Möglichkeiten, die XSS-Sicherheitsprüfung auch für Entwicklungszwecke zu deaktivieren, was völlig unnötig ist.

Nach Tagen kämpfen und forschen, eine Lösung funktioniert perfekt für mich: zu verwenden Korsett. Sie haben hier zwei Möglichkeiten: 1. Verwenden Sie corsproxy.com 2. installiere corsproxy in der lokalen Box: Npm installieren -g Korsett

[Aktualisiert am 23. Juni 2018] Kürzlich entwickle ich eine SPA-App, die wieder corsproxy benutzen muss. Aber scheint keiner der corsproxy auf dem GitHub meine Anforderung zu erfüllen.

  • muss aus Sicherheitsgründen innerhalb der Firewall ausgeführt werden. Also kann ich nicht verwenden https://cors-anywhere.herokuapp.com/.
  • Es muss https unterstützen, da chrome no-https ajax request auf einer https-Seite blockiert.
  • Ich muss auf Nodejs laufen. Ich möchte keinen weiteren Sprachstapel pflegen.

Also entscheide ich mich, meine eigene Version von corsproxy mit nodejs zu entwickeln. Es ist eigentlich sehr einfach. Ich habe es am Github veröffentlicht. Hier ist der Quellcode gist: https://gist.github.com/jianwu/8e76eaec95d9b1300c59596fbfc21b10

  • Es ist in einfachem Nodejs-Code ohne zusätzliche Abhängigkeiten
  • Sie können im HTTP- und HTTPS-Modus laufen (indem Sie den HTTPS-Port übergeben) Nummer in der Befehlszeile), um https auszuführen, müssen Sie cert und Schlüssel und legen Sie das Webroot-Verzeichnis.
  • Es dient auch als statischer Dateiserver
  • Es unterstützt auch die Pre-Flight OPTION-Anfrage.

32
2018-01-12 07:51



Ich finde den besten Weg, dies zu tun, ist ein Chrome oder Chrome Canary Verknüpfung auf Ihrem Windows-Desktop zu duplizieren. Benennen Sie diese Verknüpfung in "NO CORS" um und bearbeiten Sie die Eigenschaften dieser Verknüpfung.

im Ziel hinzufügen --disable-web-security --user-data-dir="D:/Chrome" bis zum Ende des Zielpfads.

Ihr Ziel sollte etwa so aussehen:

Aktualisieren: Neue Flaggen hinzugefügt.

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

enter image description here


30
2018-01-13 23:48