Deaktivieren Sie dieselbe Ursprungsrichtlinie in Chrome


1572

Gibt es eine Möglichkeit, die Richtlinie für denselben Ursprung im Chrome- Browser von Google zu deaktivieren ?


1
Siehe auch peter.sh/experiments/chromium-command-line-switches . Ich bin mir nicht sicher, ob es authentisch ist, aber es scheint sich um eine Sammlung zu handeln, die durch einen automatisierten Prozess erstellt wurde
CSSian,

1
chromium.org verlinkt auf die peter.shSeite, muss also ziemlich legitim sein.
Benjineer

2
Beachten Sie, dass das Deaktivieren von SOP, selbst wenn es nur für die Entwicklung verwendet wird, gefährlich ist. Wenn Sie Ihren Browser auf diese Weise starten, werden Sie wahrscheinlich nicht nur Ihre App öffnen, sondern auch Ihre E-Mails abrufen, SO lesen ... Erwägen Sie die Verwendung besserer Alternativen, z. B. Web-Proxys, um diese Probleme zu beheben. Zum Beispiel über proxrox: github.com/bripkens/proxrox
BenR

29
Verwenden Sie seit Version 49 diese Option--disable-web-security --user-data-dir
vanduc1102

3
Für alle, die nach Ratschlägen suchen, wie dies in einer Entwicklerumgebung mit einem Grunt-Run-Server zu tun ist, siehe: gist.github.com/Vp3n/5340891
GrayedFox

Antworten:


1038

Schließen Sie Chrom (oder Chrom) und starten Sie mit dem --disable-web-securityArgument neu. Ich habe dies gerade getestet und überprüft, dass ich mit src = "http://google.com", eingebettet in eine Seite von "localhost" (getestet unter Chrom 5 / Ubuntu), auf den Inhalt eines Iframes zugreifen kann. Für mich war der genaue Befehl:

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 warnt Sie beim ersten Öffnen, dass Sie eine nicht unterstützte Befehlszeile verwenden, die Sie ignorieren können.

Aus 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 konnten Sie nur Folgendes verwenden:

chromium-browser --disable-web-security

115
Wie geht das unter OS X?
Landon Kuhn

14
@ landon9720 siehe die Antwort nach ectype .
ANeves

8
@ Berty Schließen Sie einfach Chrome und öffnen Sie es ohne das Tag. Chrome wird nur in diesem Modus sein, wenn es mit diesem Tag geöffnet wurde
Nick

84
@ landon9720 Chrome schließen, Terminal öffnen, Typopen /Applications/Google\ Chrome.app --args --disable-web-security
Seanonymous

17
In Chrome 48 und 49 muss man ebenfalls hinzufügen --user-data-dir.
Jacob Lauritzen

1070

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

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

--user-data-dir unter Chrome 49+ unter OSX erforderlich

Für Linux ausführen:

$ google-chrome --disable-web-security

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

-–allow-file-access-from-files

Gehen Sie für Windows in die Eingabeaufforderung und in den Ordner, in dem sich Chrome.exe befindet, und geben Sie ein

chrome.exe --disable-web-security

Dadurch sollte dieselbe Ursprungsrichtlinie deaktiviert werden und Sie können auf lokale Dateien zugreifen.

Update: 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 darunter leiden.

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


7
Habe es gerade auf dem PC versucht (Chrom 29) und ich bekomme immer noch diese schönen Origin *** ist von Access nicht erlaubt ...
Sam

23
@Sam Stellen Sie sicher, dass Sie alle Chrome-Prozesse geschlossen haben, und versuchen Sie es erneut. Chrome gibt einen Warnheader aus, wenn Sie es richtig gemacht haben: "Sie verwenden ein nicht unterstütztes Befehlszeilenflag: --disable-web-security. Stabilität und Sicherheit werden darunter leiden"
Morten Haraldsen

2
Gibt es eine Möglichkeit, zu verhindern, dass auch die Fehlermeldung angezeigt wird? Ich verwende diese Flagge auf einem digitalen Wallboard ohne Tastatur oder Maus.
Bart van Heukelom

64
Und anscheinend --disable-web-securityfunktioniert das jetzt nur, wenn Sie auch explizit ein geben --user-data-dir. dh OSX /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --disable-web-security --user-data-dir=~/ChromeUserData/.
WiseOldDuck

20
Sie müssen nicht zuerst alle Chrome-Prozesse schließen. Sie können verwenden open -n. Einfach laufen open -n -a Google\ Chrome --args --disable-web-security --user-data-dir=/tmp/chrome. Dadurch wird eine zweite Chrome-App-Instanz auf Ihrem Mac geöffnet, die Sie nebeneinander verwenden können.
Der Pellmeister

520

Für Windows-Benutzer:

Das Problem mit der hier akzeptierten Lösung ist meiner Meinung nach, dass es nicht funktioniert, wenn Sie Chrome bereits geöffnet haben und versuchen, dies auszuführen.

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

Grundsätzlich können 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 öffnen, während Sie Ihre anderen "sicheren" Browserinstanzen geöffnet lassen und wie gewohnt arbeiten. Wichtig : Löschen / Löschen von C:/Chrome dev sessionOrdnern jedes Mal, wenn Sie ein Fenster öffnen, da das zweite Mal --disable-web-securitynicht funktioniert. Sie können Ihre Änderungen also nicht speichern und dann als zweite unsichere Instanz von Chrome mit erneut öffnen --disable-web-security.


17
Super danke. Dank dessen konnte ich eine Webseite als unabhängige Anwendung starten"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
Genau das, was ich brauchte, um eine Entwicklung für eine API auf meinem lokalen Computer durchzuführen.
Generalopinion

4
Das war ein Vergnügen. Außerdem blieb meine normale Chrominstanz mit eingeschalteter Sicherheit und normalem Funktionieren erhalten. Nur eine Randnotiz, wenn es funktioniert Chrome wird Sie benachrichtigen, dass "Stabilität und Sicherheit leiden werden".
Etoxin

1
Wie kann ich das auf einem Mac machen? Versucht mit open -a Google\ Chrome --args --disable-web-security -–allow-file-access-from-files --user-data-dir="/Users/myuser/temp/chromeData", es hat nur das vorhandene Chromfenster Fokus bekommen, sonst nichts?
user3648895

17
Dieser Befehl funktioniert unter OSX, indem eine zweite Instanz open -n -a /Applications/Google\ Chrome.app --args --user-data-dir="/tmp/chrome_dev_session" --disable-web-security
gestartet wird

161

Für Windows :

  1. Öffnen Sie das Startmenü
  2. Geben Sie windows+ ein Roder öffnen Sie "Ausführen"
  3. Führen Sie den folgenden Befehl aus:

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

Für 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 Chrome-Browser mit deaktivierter Websicherheit sollte mit der folgenden Meldung geöffnet werden:

Geben Sie hier die Bildbeschreibung ein


7
@ downvoters bitte geben Sie den Grund für die Abwertung an, da es keinen Grund für eine Abwertung in der Antwort gibt
GSB

1
Hat unter Windows 10 gut funktioniert und musste auch keine anderen Chrome-Instanzen schließen.
Nick M

Dies funktionierte unter Windows 10. Ich habe es woanders gesehen, aber es heißt, es in der Befehlszeile anstelle der Fenster auszuführen Run.
Chidimo

Es funktioniert gut. Wie kann ich diese für IE, Edge verwenden?
Jason Brody

das funktioniert gut. Ich habe stundenlang unter diesem CORS-Problem gelitten und es gefunden.
Achintha

78

Für Windows- Benutzer mit Chrome-Versionen 60.0.3112.78 (dem Tag, an dem die Lösung getestet und funktioniert hat) und mindestens bis heute 19.01.2019 (Version 71.0.3578.98) . Sie müssen keine Chrome-Instanz schließen.

  1. Erstellen Sie eine Verknüpfung auf Ihrem Desktop
  2. Klicken Sie mit der rechten Maustaste auf die Verknüpfung und klicken Sie auf Eigenschaften
  3. Bearbeiten Sie die Target-Eigenschaft
  4. Setzen Sie es auf "C: \ Programme (x86) \ Google \ Chrome \ Application \ chrome.exe" --disable-web-security --user-data-dir = "C: / ChromeDevSession"
  5. Starten Sie Chrome und ignorieren Sie die Meldung --disable-web-security wird nicht unterstützt!

Achten Sie darauf, diese spezielle Browser-Instanz nicht zum Browsen zu verwenden, da Sie damit gehackt werden können!


Lief wie am Schnürchen. Ich kann nicht glauben, dass Chrome es Entwicklern nicht erlaubt, dies zu deaktivieren, ohne eine neue Sitzung zu starten. Zumindest haben sie einen Weg.
FearlessFuture

und können Sie weiterhin Chrome-Debugging für Ihren Quellcode verwenden?
Righto

Gerade getestet, können Sie das Dev-Tool in diesem Modus weiterhin verwenden.
KuN

Diese Lösung funktioniert immer noch ab Chrome Version 71. Vielen Dank!
Motoman

Funktioniert mit 72.0.3626.109. Hat sehr geholfen!
Pavel Molchanov

76

EDIT 3: Scheint, dass die Erweiterung nicht mehr existiert ... Normalerweise richte ich heutzutage eine andere Version von Chrome mit einem separaten Verzeichnis ein oder verwende Firefox mit https://addons.mozilla.org/en-US/ Firefox / Addon / Cors-überall / stattdessen.

EDIT 2: Ich kann dies nicht mehr konsequent zum Laufen bringen.

EDIT: Ich habe versucht, das neulich für ein anderes Projekt zu verwenden, und es hat aufgehört zu funktionieren. Durch Deinstallieren und erneutes Installieren der Erweiterung wurde das Problem behoben (um die Standardeinstellungen zurückzusetzen).

Ursprüngliche Antwort:

Ich wollte Chrome nicht neu starten und meine Websicherheit deaktivieren (weil ich während der Entwicklung surfte) und bin auf diese Chrome-Erweiterung gestoßen.

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

Grundsätzlich ist es ein kleiner Kippschalter, um die Allow-Access-Origin-Control-Prüfung ein- und auszuschalten. Funktioniert perfekt für mich für das, was ich tue.


1
wie ich meine Erweiterung erreiche und in sie integriere, da meine Erweiterung domänenübergreifend zugreifen muss. Ich kann den Benutzer nicht zwingen, den Browser mit deaktivierter Web-Sicherheit zu öffnen
codebasiert am

1
Diese Erweiterung funktioniert leider nicht für lokale Dateien. Halten Sie sich --disable-web-securityin diesem Fall an den Schalter.
Bryc

2
@bryc Es ist nicht wirklich dazu gedacht. Beachten Sie jedoch, dass Sie --allow-file-access-from-filesdie gesamte Websicherheit verwenden können, anstatt sie zu deaktivieren.
Coburn

1
Warnung! Auf einigen Websites können Sie sich nicht mit aktivierter Erweiterung anmelden! Zum Beispiel eine Firebase-Konsole.
Campsjos

1
"Die Erweiterung existiert nicht mehr" können Sie Ihre Antwort löschen oder zumindest Bearbeiten 3 in Fettdruck oben setzen
Michael Freidgeim

48

Anscheinend funktioniert keine der oben genannten Lösungen tatsächlich. Die --disable-web-security wird in neueren Chrome-Versionen nicht mehr unterstützt.

Allow-Control-Allow-Origin: * - Die Chrome-Erweiterung hat das Problem teilweise gelöst. Dies funktioniert nur, wenn Ihre Anfrage die GET-Methode verwendet und kein benutzerdefinierter HTTP-Header vorhanden ist. Andernfalls sendet Chrome die HTTP-Anforderung OPTIONS als Anforderung vor dem Flug. Wenn der Server CORS nicht unterstützt, antwortet er mit 404 HTTP-Statuscode. Das Plugin kann den Antwort-HTTP-Statuscode nicht ändern. Daher wird Chrome diese Anfrage ablehnen. Das Chrome-Plugin kann den HTTP-Statuscode der Antwort basierend auf der aktuellen Chrome-Erweiterungs-API nicht ändern. Sie können auch keine Umleitung für von XHR initiierte Anforderungen durchführen.

Ich bin mir nicht sicher, warum Chrome Entwicklern das Leben so schwer macht. Es blockiert alle möglichen Möglichkeiten, die XSS-Sicherheitsüberprüfung zu deaktivieren, selbst für Entwicklungszwecke, die völlig unnötig sind.

Nach Tagen des Kampfes und der Forschung funktioniert eine Lösung perfekt für mich: die Verwendung von Corsproxy . Hier haben Sie zwei Möglichkeiten: 1. Verwenden Sie [ https://cors-anywhere.herokuapp.com/]. 2. Installieren Sie corsproxy in der lokalen Box: npm install -g corsproxy

[Aktualisiert am 23. Juni 2018] Vor kurzem entwickle ich eine SPA-App, die Corsproxy erneut verwenden muss. Aber anscheinend kann keiner der Corsproxys auf dem Github meine Anforderungen erfüllen.

  • Aus Sicherheitsgründen muss es innerhalb der Firewall ausgeführt werden. Daher kann ich https://cors-anywhere.herokuapp.com/ nicht verwenden .
  • Es muss https unterstützen, da Chrome die Ajax-Anforderung ohne https auf einer https-Seite blockiert.
  • Ich muss auf nodejs laufen. Ich möchte keinen weiteren Sprachstapel beibehalten.

Also entscheide ich mich, meine eigene Version von corsproxy mit nodejs zu entwickeln. Es ist eigentlich sehr einfach. Ich habe es als Kern auf dem Github veröffentlicht. Hier ist der Quellcode: 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 ausführen (indem Sie die https-Portnummer in der Befehlszeile übergeben). Um https auszuführen, müssen Sie Zertifikat und Schlüssel generieren und in das Webroot-Verzeichnis stellen.
  • Es dient auch als statischer Dateiserver
  • Es unterstützt auch die OPTION-Anforderung vor dem Flug.

So starten Sie den CORSProxy-Server (http-Port 8080): Knoten static_server.js 8080

So greifen Sie auf den Proxy zu: http: // host: 8080 / http: //www.somesite.com


Wenn Sie so weit gehen, können Sie jederzeit einen Webserver lokal oder remote hosten, der den Inhalt von der gewünschten Webseite abruft, und dann die richtigen CORS-Header festlegen.
Coburn

Ich habe schon früher an diese Route gedacht. Dies erfordert jedoch eine gewisse Codierung, insbesondere in meinem Fall muss ich mehrere Dienste aufrufen, die aus verschiedenen Domänen stammen. Also muss ich verschiedenen Domänen unterschiedliche URL-Muster zuordnen. Genau das hat corsproxy für uns getan. Und es funktioniert perfekt.
Jianwu Chen

4
Nicht wahr. Die in der akzeptierten Antwort erwähnte Methode hat bei mir funktioniert. Wie bereits erwähnt, hat der Chrome 49-Befehl 'chrome.exe --disable-web-security --user-data-dir' für mich funktioniert.
Gaurang Patel

2
Chromium 53, --disable-web-security --user-data-dir hat bei mir nicht funktioniert
Dark Star1

4
In 53+ müssen Sie tatsächlich ein eindeutiges Benutzerdatenverzeichnis bereitstellen, das sich von Ihrem normalen Verzeichnis unterscheidet. Dadurch wird ein neues Profil für die unsichere Umgebung erstellt. --user-data-dir muss gleich gesetzt werden, wie in Olas Antwort oben. Wenn Sie wirklich möchten, können Sie ihn auf Ihren tatsächlichen normalen Benutzerprofilordner setzen. Dies wird jedoch dringend empfohlen, da Ihr normales Profil für versehentliche Angriffe offen bleibt, wenn Sie in diesem Modus mit dem normalen Surfen beginnen.
Lassombra

45

Für Windows ... erstellen Sie eine Chrome-Verknüpfung auf Ihrem Desktop.
Klicken Sie mit der rechten Maustaste auf> Eigenschaften> Verknüpfung.
Bearbeiten Sie den "Ziel" -Pfad:

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

(Ändern Sie die 'C: .... \ chrome.exe' in die Position, in der sich Ihr Chrome befindet.)

et voilà :)


Ab heute 27.08.20013 funktioniert es für mich und ermöglicht mir, Ajax auf meinem eigenen lokalen Host zu machen.
Molokoloco

bekam "Sie verwenden ein nicht unterstütztes Kommandozeilen-Tag: --disable-web-security" mit Canary Version 53
khoailang

4
@ Khoailang können Sie weiterhin den Schalter verwenden. Diese Warnung ist Teil von Googles Krieg gegen die Unsicherheit (eine gute Sache). Ab Version 55+ müssen Sie außerdem --user-data-dir = <ein anderes Verzeichnis hier> verwenden, damit Google nicht möchte, dass Sie unsichere Regeln mit Ihren normalen Profilen mischen.
Lassombra

44

Versuchen Sie diesen Befehl auf dem Mac-Terminal.

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

Es öffnet eine weitere Chrome-Instanz mit deaktivierter Sicherheit und es gibt kein CORS-Problem mehr. Außerdem müssen Sie keine anderen Chrome-Instanzen mehr schließen. Ändern Sie die localhost-URL in Ihre.


Die meisten der oben genannten Befehlszeilenantworten haben sich unter macOS für mich nicht verbessert. Dieser Beitrag alfilatov.com/posts/run-chrome-without-cors und die geöffnete Befehlszeile funktionierten jedoch für mich. Es ist das gleiche wie der obige Befehl, also abstimmen.
Max MacLeod

40

Ich finde, der beste Weg, dies zu tun, besteht darin, eine 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 --disable-web-security --user-data-dir="D:/Chrome"am Ende des Zielpfads hinzufügen .

Ihr Ziel sollte ungefähr so ​​aussehen:

Update: Neue Flags hinzugefügt.

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

Geben Sie hier die Bildbeschreibung ein


Dies gibt mir jetzt nur 404 statt Fehler vor dem Flug
L1ghtk3ira

Ein 404-Fehler ist ein Serverfehler und kein Google Chrome-Fehler.
Etoxin

2
@etoxin Diese Antwort ist in der neuesten Version von Chrome nicht mehr gültig. Sie müssen --disable-web-security --user-data-dir = "D: / Chrome"
Vignesh S

29

Unter Verwendung der aktuellsten Chrome-Version (83.0.4103.61 (Official Build) (64-Bit)) bestand die einzige Möglichkeit, dies in meinem Test zum Laufen zu bringen, darin, Chrome mit den folgenden Flags zu starten (ändern Sie D: \ temp nach Ihren Wünschen). . Diese Lösung startet Chrome als Sandbox für Tests und hat keine Auswirkungen auf das Hauptchromprofil:

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

Klicken Sie in Windows auf die Schaltfläche Start und kopieren Sie die folgenden Elemente:

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

5
Dies ist die einzige Lösung, die für mich funktioniert. Ich habe dies chrome.exe --disable-site-isolation-trials --disable-web-security --user-data-dir="D:\temp"auf runWindows unter Windows 10 ausgeführt. Vielen Dank.
Sampath

HAARZIEHEN ARGHGHGH - scheint nicht mehr zu funktionieren
Daniel Sokolowski

1
Das Hinzufügen von --disable-site -isolationsversuchen hat mir in meinem Fall Chrome v 75.0, Selenium Web Driver, Java wirklich geholfen. Vielen Dank!
Nikolay Chernov

Wenn Sie nur eine Site mit cors testen müssen, verwenden Sie Safari, wo Sie nur Optionen aktivieren und deaktivieren müssen , anstatt eine andere Instanz des Browsers zu starten oder Instanzen zu beenden : [ stackoverflow.com/a/12158217/922457 ]
Edenshaw

1
Arbeitete für mich an Fenstern! Danke!
Jánosi-Borsos Róbert

20

Sie können dieses Chrome-Plugin namens "Allow-Control-Allow-Origin: *" verwenden. Es macht es kinderleicht und funktioniert sehr gut. Überprüfen Sie es hier: *

Chrome-Erweiterung


4
Es legt die Website "evil.com" als Ursprung fest und sieht verdächtig aus.
Suprido

5
Zum Datum dieses Kommentars nicht mehr funktionsfähig. Würde empfehlen, nur die Flaggenroute zu verwenden.
NJDawson

19

Für Selenium Webdriver kann Selenium Chrome in diesem Fall mit den entsprechenden Argumenten (oder "Schaltern") starten.

 @driver = Selenium::WebDriver.for(:Chrome, { 
       :detach => false,
       :switches => ["--disable-web-security"]
    })

1
Das sind zwei vorangestellte Bindestriche für die Deaktivierung der Web-Sicherheit. In meinem Browser sahen sie aus wie ein einziger Strich.
Mikelupo

Ich habe einen kleinen Beitrag über Chrom ohne Cors geschrieben
Alex Filatov

14

Wenn Sie Google Chrome unter Linux verwenden, funktioniert der folgende Befehl.

google-chrome  --disable-web-security


13

Tu das nicht! Sie öffnen Ihre Konten für Angriffe . Sobald Sie dies tun, kann jede Website eines Drittanbieters Anfragen an andere Websites senden, an die Sie angemeldet sind.

Führen Sie stattdessen einen lokalen Server aus. Es ist so einfach wie das Öffnen einer Shell / eines Terminals / einer Befehlszeile und das Tippen

cd path/to/files
python -m SimpleHTTPServer

Zeigen Sie dann mit Ihrem Browser auf

http://localhost:8000

Wenn Sie feststellen, dass es zu langsam ist, ziehen Sie diese Lösung in Betracht

Aktualisieren

Leute, die diese Antwort ablehnen, sollten hierher gehen und auch diese ablehnen , um konsequent zu sein. Keine Ahnung, warum meine Antwort so herabgestuft ist und die gleiche Antwort hier ist die am besten gewählte Antwort.

Sie sind zu öffnen , sich Angriffe. Jedes einzelne Skript eines Drittanbieters, das Sie remote oder lokal wie über npm auf Ihrer Website einfügen, kann jetzt Ihre Daten hochladen oder Ihre Anmeldeinformationen stehlen. Sie tun etwas, was Sie nicht tun müssen. Die vorgeschlagene Lösung ist nicht schwer, dauert 30 Sekunden und lässt Sie nicht offen angreifen. Warum sollten Sie sich verwundbar machen, wenn das Bessere so einfach ist?

Wenn Sie den Leuten sagen, dass sie die Sicherheit deaktivieren sollen, sagen Sie Ihren Freunden, sie sollen ihre Haustür unverschlossen lassen und / oder einen Schlüssel unter der Fußmatte. Sicher, die Chancen könnten gering sein, aber wenn sie eingebrochen werden, ohne Beweise für die erzwungene Einreise, könnten sie Schwierigkeiten haben, eine Versicherung abzuschließen. Ebenso , wenn Sie deaktivieren Sicherheit tun Sie nur , dass das Deaktivieren der Sicherheit . Es ist unverantwortlich, dies zu tun, wenn Sie das Problem so einfach lösen können, ohne die Sicherheit zu deaktivieren. Es würde mich wundern, wenn Sie nicht wegen Deaktivierung der Sicherheit auf einige Unternehmen entlassen werden könnten.


9
Dies würde "Ihre Maschine" nicht für Angriffe öffnen. Ein bösartiger JavaScript-Code kann auf dem Client-Computer selbst nicht viel bewirken. Sie würden jedoch zulassen, dass böswilliger JavaScript-Code Ihre Konten auf anderen Websites (Facebook / Administrations / Banks / ...) möglicherweise manipuliert. Das ist sicherlich nicht weniger gefährlich, aber es ist völlig anders.
Dim



2
Möglicherweise müssen Benutzer dies dennoch tun. Das Problem ist, dass kein Server ausgeführt wird. Das Problem besteht darin, CORS zu testen, bevor Sie es auf Ihren Akzeptanz- / Produktionsserver stellen, wo diese Änderung nicht erforderlich ist. Das Ändern der Hosts-Datei würde auch nicht funktionieren.
Jeff Huijsmans

Sie können CORS nicht ohne Server testen, da CORS eine serverseitige Technologie ist. Um CORS zu testen, müssen Sie einen Server zum Senden von CORS-Headern einrichten. Es gibt zwei Dinge zu testen (1) Sendet der Server die Header (2) Wenn der Server die Header sendet, können Sie die Ressource im Browser verwenden. Sowohl (1) als auch (2) erfordern einen Server. Wenn Sie nur 2 ausführen möchten, können Sie diesen Server verwenden, müssen jedoch noch (2) mit dem Server testen, der Ihre Produktionssite bedienen soll .
Gman

11

Sie können einfach diese Chrome-Erweiterung Allow-Control-Allow-Origin verwenden

Klicken Sie einfach auf das Symbol der Erweiterung, um die ressourcenübergreifende Freigabe nach Belieben ein- oder auszuschalten


Der Link ist tot.
Vitaly Zdanevich

Es ist nicht. Und ja, es funktioniert. Aber wir sind hier, weil wir jetzt wissen, was ein Befehl bedeutet. Verwenden Sie vorher die oben genannten Lösungen!
Jánosi-Borsos Róbert

@ Jánosi-BorsosRóbert, die in Ihrem "Wir" enthalten sind, und wie könnte Ihr Wissen über die Bedeutung eines Befehls Sie hierher bringen? Zu Ihrer
Information

10

NUR FÜR MAC-BENUTZER

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

wie man diese Änderung rückgängig
macht

@MohasinAli schließe alle Chromfenster und führe es einfach wie gewohnt aus. Dies betrifft nur die Instanz, die Sie mit diesem Argument ausgeführt haben. Wenn Sie es ohne Argumente erneut ausführen, wird diese Änderung nicht angewendet.
Jeff Huijsmans

9
chromium-browser --disable-web-security --user-data-dir=~/ChromeUserData/

7

Unter Windows 10 funktioniert Folgendes.

<<path>>\chrome.exe --allow-file-access-from-files --allow-file-access --allow-cross-origin-auth-prompt

Ich bin überrascht, dass Ihre Antwort abgelehnt wurde. Bei lokalen Dateien mit der neuesten Chrome-Version hat es sehr gut funktioniert.
Waruyama

@CHANist: Vielleicht sagte das OP deshalb "Unter Windows 10 " ...?
Lawrence Dol

7

Nach der Antwort von Ola Karlsson wäre es in der Tat am besten, das unsichere Chrome in einer anderen Sitzung zu öffnen. Auf diese Weise müssen Sie sich nicht um das Schließen aller derzeit geöffneten Registerkarten kümmern und können mit der ursprünglichen Chrome-Sitzung auch weiterhin sicher im Internet surfen.

Diese Batch-Dateien sollten nur unter Windows für Sie funktionieren.

Fügen Sie es zur einfachen Verwendung in eine Chrome_CORS.bat-Datei ein

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

Dieser ist für 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

Dies ist eine sinnlose Verwendung einer Batchdatei. Eine Abkürzung wäre dafür viel besser. Fügen Sie einfach alles nach dem ersten Anführungszeichen in das Verknüpfungsziel ein.
Lassombra

Es ist nicht wirklich wichtig. In einem Stapel können Sie jedoch mehr tun, z. B. das Benutzerdatenverzeichnis löschen, nachdem Sie den Browser geschlossen haben.
Guya

Das Hinzufügen von Verhalten außerhalb des Startvorgangs wäre zwar nützlich, aber für die meisten Benutzer, die dies ausführlich benötigen, ist es hilfreich, ein dauerhaftes Benutzerverzeichnis zu haben (z. B. mit installierten Erweiterungen)
lassombra

7

Führen Sie unter Linux-Ubuntu den folgenden Befehl aus, um gleichzeitig eine normale Sitzung und eine unsichere Sitzung auszuführen:

google-chrome  --user-data-dir=/tmp --disable-web-security

6

für Mac-Benutzer:

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

und vor Chrome 48 können Sie einfach Folgendes verwenden:

open -a "Google Chrome" --args --disable-web-security

Vielen Dank. Dies funktioniert mit dem neuesten Chrome 73, das die neue CORB-Sicherheitsrichtlinie enthält.
StuyvesantBlue


6

Führen Sie unter OSX den folgenden Befehl vom Terminal aus:

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

Dadurch wird eine neue Instanz von Google Chrome mit einer Warnung oben gestartet.


5

Dies ist ein sich ständig bewegendes Ziel. Heute musste ich eine weitere Flagge hinzufügen, damit es funktioniert: --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


3

Für Windows:

(unter Windows 8.1, Chrome 44.0 )

Schließen Sie zunächst Google Chrome.

Öffnen Sie dann die Eingabeaufforderung und wechseln Sie in den Ordner, in dem sich 'chrome.exe' befindet.

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

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

Geben Sie jetzt Folgendes ein: chrome.exe --disable-web-security

Ein neues Chromfenster wird geöffnet.


3

Wird in Ubuntu unter dem folgenden Befehl verwendet, um Chrome zu starten (deaktivieren Sie dieselbe Ursprungsrichtlinie und öffnen Sie Chrome im getrennten Modus):

nohup google-chrome --disable-web-security --user-data-dir='/tmp' &

3

Unter Windows:

1) Erstellen Sie eine neue Verknüpfung:

Neue Verknüpfung erstellen

2) Fügen Sie den folgenden Pfad ein:

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

Fügen Sie den Pfad ein

3) Geben Sie auf der nächsten Seite Folgendes ein:

Unsafe Chrome.exe

Geben Sie hier die Bildbeschreibung ein

Jetzt haben Sie ein unsicheres Chrome auf dem Desktop, das Sie zum Debuggen von CORS-Anwendungen verwenden können. Hoffe, diese grafische Antwort hilft einigen Leuten!


1

Gehen Sie zu dieser Seite und deaktivieren Sie die Domain-Sicherheitsrichtlinie für Ihre Website-Domain.

chrome://net-internals/#hsts

1
Bitte erkläre. Auf dieser Seite unten sehe ich Input a domain name to delete its dynamic domain security policies (HSTS and Expect-CT). (You cannot delete preloaded entries.):.
Vitaly Zdanevich

Hat jemand das gelöst?
Yipeekiyay

@ RahulMalu hast du das irgendwie zum Laufen gebracht?
Ben Racicot
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.