it-swarm.com.de

Deaktivieren Sie dieselbe Origin-Richtlinie in Chrome

Gibt es eine Möglichkeit, die Same-Origin-Richtlinie bei Google Chrome Browser zu deaktivieren?

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

1242
Landon Kuhn

Schließen Sie Chrom (oder Chrom) und starten Sie das Argument --disable-web-security erneut. Ich habe dies gerade getestet und festgestellt, dass ich auf den Inhalt eines iframe mit src = "http://google.com" zugreifen kann, das in einer von "localhost" bereitgestellten Seite eingebettet ist (getestet unter Chrom 5/ubuntu). 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 wird Sie beim ersten Öffnen darauf hinweisen, dass "Sie eine nicht unterstützte Befehlszeile verwenden", 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önnten Sie einfach Folgendes verwenden:

chromium-browser --disable-web-security
864
Dagg Nabbit

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

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

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

Für Linux laufen:

$ google-chrome --disable-web-security

Wenn Sie versuchen, auf lokale Dateien zu dev-Zwecken wie AJAX oder JSON zuzugreifen, können Sie auch dieses Flag verwenden.

-–allow-file-access-from-files

Für Windows gehen Sie in den Befehl Prompt und gehen in den Ordner, in dem sich Chrome.exe befindet, und geben Sie ein

chrome.exe --disable-web-security

Dies sollte die gleiche Origin-Richtlinie deaktivieren und Ihnen den Zugriff auf lokale Dateien ermöglichen.

Update: Für Chrome 22+ wird eine Fehlermeldung mit der folgenden Meldung angezeigt:

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 einfach ignorieren.

981
ectype

Für Windows Benutzer:

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

Bei der Recherche stieß ich jedoch auf einen Beitrag zu Super User: Ist es möglich, Chrome mit und ohne Websicherheit gleichzeitig auszuführen?.

Grundsätzlich, indem Sie den folgenden Befehl ausführen (oder eine Verknüpfung 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" Browserinstanzen geöffnet halten und normal arbeiten. Important: C:/Chrome dev session-Ordner löschen/löschen jedes Mal, wenn Sie ein Fenster zum zweiten Mal öffnen, --disable-web-security funktioniert nicht. Sie können Ihre Änderungen also nicht speichern und dann als zweite unsichere Instanz von Chrome mit --disable-web-security erneut öffnen.

431
Ola Karlsson

Für Windows :

  1. Öffnen Sie das Startmenü
  2. Art windows+R oder öffne "Run"
  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:

enter image description here

113
GSB

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

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

Im Grunde ist es ein kleiner Umschalter, um die Überprüfung von Allow-Access-Origin-Control ein- und auszuschalten. Funktioniert perfekt für mich für das, was ich tue.

EDIT: Ich habe den neulich für ein anderes Projekt ausprobiert und es hörte auf zu arbeiten. Durch die Deinstallation und Neuinstallation der Erweiterung wurde diese behoben (um die Standardeinstellungen zurückzusetzen).

EDIT 2: Ich kann das nicht mehr durchgängig funktionieren lassen

71
Coburn

Für Windows Benutzer mit Chrome-Versionen 60.0.3112.78 (der Tag, an dem die Lösung getestet und gearbeitet wurde) und mindestens bis heute 19.01.2019 (ver. 71.0.3578.98). Sie müssen nicht eine 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 ignore die Nachricht, die besagt, dass - disable-web-security nicht unterstützt wird!

BEACHTEN SIE NICHT, DIESE BESONDERE BROWSER-INSTANZ ZU VERWENDEN, WEIL SIE MIT IHM GEHAKT WERDEN KÖNNEN!

49
Ognyan Dimitrov

Es scheint, dass keine der oben genannten Lösungen tatsächlich funktioniert. Die --disable-web-security wird in aktuellen 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 eine HTTP-Anforderung von OPTIONS als Anforderung vor dem Flug. Wenn der Server CORS nicht unterstützt, antwortet er mit dem HTTP-Statuscode 404. Das Plugin kann den Antwort-HTTP-Statuscode nicht ändern. Chrom wird diese Anfrage also ablehnen. Es gibt keine Möglichkeit für das Chrome-Plugin, den Antwort-HTTP-Statuscode basierend auf der aktuellen Chrome-Erweiterungs-API zu ändern. Sie können auch keine Umleitung für eine durch XHR initiierte Anforderung durchführen.

Nicht sicher, warum Chrome das Leben der Entwickler so schwierig macht. Es blockiert alle Möglichkeiten, die XSS-Sicherheitsüberprüfung zu deaktivieren, selbst wenn der Entwicklungsaufwand völlig überflüssig ist.

Nach tagelangem Kampf und Forschung funktioniert eine Lösung perfekt für mich: corsproxy zu verwenden. Sie haben hier zwei Möglichkeiten: 1. Verwenden Sie corsproxy.com 2. corsproxy in der lokalen Box installieren: npm install -g corsproxy

[Aktualisiert am 23. Juni 2018] Kürzlich entwickle ich eine SPA-App, die erneut Corsproxy verwenden muss. Aber es scheint, als ob kein Corspoxy auf dem Github meine Anforderung erfüllen könnte. 

  • es muss aus Sicherheitsgründen innerhalb der Firewall ausgeführt werden. Ich kann also nicht https://cors-anywhere.herokuapp.com/ verwenden. 
  • Es muss https unterstützen, da Chrome keine https-ajax-Anforderung in einer https-Seite blockiert. 
  • Ich muss auf nodejs laufen. Ich möchte keinen anderen Sprachenstapel verwalten.

Daher entscheide ich mich, eine eigene Version von Corsproxy mit nodejs zu entwickeln. Es ist eigentlich sehr einfach. Ich habe es als Gist auf dem 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 (indem Sie den https-Port In der Befehlszeile übergeben) ausführen. Um https auszuführen, müssen Sie cert und Key generieren und in das Verzeichnis webroot stellen. 
  • Es dient auch als statischer Dateiserver
  • Es unterstützt auch die OPTION-Anfrage vor dem Flug.
42
Jianwu Chen

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

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

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

und voilà :) 

41
molokoloco

Ich finde, der beste Weg, dies zu tun, ist das Kopieren einer Chrome- oder Chrome-Canary-Verknüpfung auf Ihrem Windows-Desktop. Benennen Sie diese Verknüpfung in "NO CORS" um und bearbeiten Sie dann die Eigenschaften dieser Verknüpfung. 

fügen Sie im Ziel --disable-web-security --user-data-dir="D:/Chrome" am Ende des Zielpfads hinzu. 

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

 enter image description here

34
etoxin

Versuchen Sie diesen Befehl auf einem 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 Instanz von Chrome 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 URL.

29
Vivek Sinha

Sie können dieses chrome Plugin mit dem Namen "Allow-Control-Allow-Origin: *" verwenden. Es macht es einfach und funktioniert sehr gut. überprüfen Sie es hier: *

Chrome extenstion

20
Mohamed Saleh

Für Selenium Webdriver können Sie in diesem Fall festlegen, dass Selen Chrome mit den entsprechenden Argumenten (oder "Schaltern") startet.

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

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

google-chrome  --disable-web-security
13
chhantyal

Dieses Chrome-Plugin funktioniert für mich: Allow-Control-Allow-Origin: * - Chrome Web Store

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

Unter Windows 10 wird Folgendes funktionieren.

<<path>>\chrome.exe --allow-file-access-from-files --allow-file-access --allow-cross-Origin-auth-Prompt
8
ItsAllABadJoke

NUR FÜR MAC-BENUTZER  

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

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

klicken Sie einfach auf das Symbol der Erweiterung, um die Ressourcenfreigabe nach Belieben ein- oder auszuschalten 

8
Peter Wilson

Nach der Antwort von Ola Karlsson wäre es tatsächlich der beste Weg, das unsichere Chrome in einer anderen Sitzung zu öffnen. Auf diese Weise müssen Sie sich nicht darum kümmern, alle derzeit geöffneten Registerkarten zu schließen, und Sie können mit der ursprünglichen Chrome-Sitzung auch weiterhin sicher im Web surfen.

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

Legen Sie es in eine Chrome_CORS.bat-Datei , um die Verwendung zu erleichtern

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

Dies 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
7
guya

Es gibt eine Chrome-Erweiterung namens CORS Toggle.

Klicken Sie hier, um darauf zuzugreifen und es zu Chrome hinzuzufügen.

Wechseln Sie nach dem Hinzufügen zur Position on, um domänenübergreifende Anforderungen zuzulassen.

6
Mowzer

für Mac-Benutzer:

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

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

open -a "Google Chrome" --args --disable-web-security
5
Braian Mellor

unter Verwendung der aktuellsten Chrome-Versionen (73.0.3683.86) war die einzige Möglichkeit, dies in meinem Test zum Funktionieren zu bringen, das Starten von Chrome mithilfe der folgenden Flags (ändern Sie D:\temp nach Ihren Wünschen) ):

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

klicken Sie in Windows auf die Schaltfläche "Start" und fügen Sie dann Folgendes ein:

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

Tu das nicht!Sie öffnen Ihre Konten für Angriffe . Sobald Sie dies getan haben, kann jede Drittanbieter-Site Anfragen an andere Websites ausgeben, an denen Sie angemeldet sind.

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

cd path/to/files
python -m SimpleHTTPServer

Dann zeigt Ihr Browser auf

http://localhost:8000

Wenn Sie feststellen, dass es zu langsam ist betrachten Sie diese Lösung

3
gman

Für Windows:

(mit 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 die Datei '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 ein: chrome.exe --disable-web-security

ein neues Fenster wird geöffnet.

3
Fuad Ahmad

Um unter Linux Ubuntu gleichzeitig eine normale Sitzung und eine unsichere Sitzung auszuführen, führen Sie den folgenden Befehl aus:

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

dies ist ein sich ständig bewegendes Ziel ... heute musste ich ein weiteres Flag 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

2
denodster

Verwenden Sie auf einem Windows-PC eine ältere Version von Chrome. Der Befehl funktioniert für alle Benutzer. Ich habe mein Chrome auf die Version 26 heruntergestuft und es hat funktioniert.

1
user1578524

Ich verwende dies manchmal, um eine Localhost-Front-End-Site an eine Localhost-Back-End-API zu senden (z. B. Reagieren auf eine alte .NET-API). Ich habe auf meinem Windows 10-Desktop eine eigene Verknüpfung erstellt, sodass sie niemals für das normale Surfen verwendet wird, sondern nur für das lokale Debuggen. Ich habe folgendes gemacht: -

  1. Klicken Sie mit der rechten Maustaste auf den Desktop und fügen Sie eine neue Verknüpfung hinzu
  2. Fügen Sie das Ziel als "[PATH_TO_CHROME]\chrome.exe" --disable-web-security hinzu.
  3. OK klicken.

Beim Laden dieses Browsers erhalten Sie eine Warnung, dass es nicht sicher ist. Achten Sie nur darauf, was Ihr Browser darauf zeigt. Ich neige dazu, diese neue Verknüpfung auf dem Desktop umzubenennen, etwas in Großbuchstaben, und entferne sie von meinen anderen Symbolen, sodass sie für normales Chrome nicht verwirrt werden kann.

Hoffe das hilft!

0
Mike Upjohn

Rufen Sie diese Seite auf und deaktivieren Sie die Domänensicherheitsrichtlinie für Ihre Website-Domain.

chrome://net-internals/#hsts
0
Rahul Malu

Das Allow-Control-Allow-Origin-Plugin für Chrome funktioniert nicht. Dies ist für MacOS

Ich habe meinem .profile alias chrome='open -n -a /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --args --user-data-dir --disable-web-security' als Alias ​​hinzugefügt.

Die anderen Befehle deaktivieren meine anderen Erweiterungen und dies startet Ihr normales chrome mit deaktivierten cors

0