Gibt es eine Möglichkeit, die Richtlinie für denselben Ursprung im Chrome- Browser von Google zu deaktivieren ?
peter.sh
Seite, muss also ziemlich legitim sein.
--disable-web-security --user-data-dir
Gibt es eine Möglichkeit, die Richtlinie für denselben Ursprung im Chrome- Browser von Google zu deaktivieren ?
peter.sh
Seite, muss also ziemlich legitim sein.
--disable-web-security --user-data-dir
Antworten:
Schließen Sie Chrom (oder Chrom) und starten Sie mit dem --disable-web-security
Argument 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
open /Applications/Google\ Chrome.app --args --disable-web-security
--user-data-dir
.
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.
--disable-web-security
funktioniert 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/
.
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.
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 session
Ordnern jedes Mal, wenn Sie ein Fenster öffnen, da das zweite Mal --disable-web-security
nicht funktioniert. Sie können Ihre Änderungen also nicht speichern und dann als zweite unsichere Instanz von Chrome mit erneut öffnen --disable-web-security
.
"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"
, es hat nur das vorhandene Chromfenster Fokus bekommen, sonst nichts?
open -n -a /Applications/Google\ Chrome.app --args --user-data-dir="/tmp/chrome_dev_session" --disable-web-security
Für Windows :
Führen Sie den folgenden Befehl aus:
chrome.exe --user-data-dir="C://Chrome dev session" --disable-web-security
Für Mac :
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:
Run
.
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.
Achten Sie darauf, diese spezielle Browser-Instanz nicht zum Browsen zu verwenden, da Sie damit gehackt werden können!
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.
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.
--disable-web-security
in diesem Fall an den Schalter.
--allow-file-access-from-files
die gesamte Websicherheit verwenden können, anstatt sie zu deaktivieren.
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.
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
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
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à :)
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.
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"
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"
chrome.exe --disable-site-isolation-trials --disable-web-security --user-data-dir="D:\temp"
auf run
Windows unter Windows 10 ausgeführt. Vielen Dank.
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: *
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"]
})
Dieses Chrome-Plugin funktioniert für mich: Allow-Control-Allow-Origin: * - Chrome Web Store
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
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.
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
NUR FÜR MAC-BENUTZER
open -n -a /Applications/Google\ Chrome.app --args --user-data-dir="/tmp/someFolderName" --disable-web-security
Unter Windows 10 funktioniert Folgendes.
<<path>>\chrome.exe --allow-file-access-from-files --allow-file-access --allow-cross-origin-auth-prompt
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
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
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
Es gibt eine Chrome-Erweiterung namens CORS Toggle.
Klicken Sie hier, um darauf zuzugreifen und es zu Chrome hinzuzufügen .
Nach dem Hinzufügen es, schalten sie die auf Position Cross-Domain - Anfragen zu ermöglichen.
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
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.
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' &
Unter Windows:
1) Erstellen Sie eine neue Verknüpfung:
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"
3) Geben Sie auf der nächsten Seite Folgendes ein:
Unsafe Chrome.exe
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!
Gehen Sie zu dieser Seite und deaktivieren Sie die Domain-Sicherheitsrichtlinie für Ihre Website-Domain.
chrome://net-internals/#hsts
Input a domain name to delete its dynamic domain security policies (HSTS and Expect-CT). (You cannot delete preloaded entries.):
.