it-swarm.com.de

Deaktivieren Sie Firefox Same Origin Policy

Ich entwickle ein lokales Recherchetool, bei dem ich die gleiche Origin-Richtlinie von Firefox deaktivieren muss (im Hinblick auf den Skriptzugriff interessieren mich domänenübergreifende Anforderungen nicht wirklich).

Ich möchte, dass Skripte in der Host-Domäne unabhängig von ihrer Domäne auf beliebige Elemente in allen auf der Seite eingebetteten Iframes zugreifen können.

Mir sind frühere Fragen und Antworten bekannt, in denen die CORS FF-Erweiterung erwähnt wurde, aber das ist nicht das, was ich brauche, da es nur CORS, aber keinen Skriptzugriff ermöglicht.

Wenn dies nicht einfach möglich ist, würde ich mich auch über Erkenntnisse freuen, die auf einen bestimmten Teil des FF-Quellcodes verweisen, den ich ändern kann, um SOP zu deaktivieren, sodass ich FF neu kompilieren kann.

101
Yuchen Zhou

Es gibt eine Firefox-Erweiterung, die die CORS-Header zu jeder HTTP-Antwort hinzufügt, die mit dem neuesten Firefox ( Build 36.0.1 ) veröffentlicht wurde . 5. März 2015 . Ich habe es getestet und es funktioniert auf Windows 7 und Mavericks. Ich werde Sie durch die einzelnen Schritte führen, damit es funktioniert.

1) Die Erweiterung erhalten

Sie können das xpi entweder von hier (Author Builds) oder von hier (Mirror, möglicherweise nicht aktualisiert) herunterladen.

Oder laden Sie die Dateien von GitHub herunter. Jetzt ist es auch auf dem Firefox-Marktplatz: hier herunterladen . In diesem Fall wird das Addon installiert, nachdem Sie auf Installieren geklickt haben, und Sie können mit Schritt 4 fortfahren.

Wenn Sie das xpi heruntergeladen haben, können Sie mit Schritt 3 fortfahren. Wenn Sie die Zip-Datei von GitHub heruntergeladen haben, fahren Sie mit Schritt 2 fort.

2) Aufbau des xpi

Sie müssen die Zip-Datei extrahieren, in den Ordner "cors-everywhere-firefox-addon-master" gelangen, alle Elemente auswählen und komprimieren. Benennen Sie dann die erstellte Zip in * .xpi um

Hinweis: Wenn Sie die OS X-Benutzeroberfläche verwenden, werden möglicherweise einige versteckte Dateien erstellt, sodass Sie die Befehlszeile besser verwenden können.

3) Installieren des xpi

Sie können das xpi einfach per Drag & Drop in Firefox ziehen oder zu "about: addons" gehen, auf das Zahnrad in der oberen rechten Ecke klicken und "install add on from file" auswählen und dann Ihre .xpi-Datei auswählen. Starten Sie jetzt Firefox neu.

4) Wie es funktioniert

Jetzt funktioniert die Erweiterung standardmäßig nicht mehr. Sie müssen das Erweiterungssymbol in die Erweiterungsleiste ziehen, aber keine Sorge. Es gibt Bilder!

  • Klicken Sie auf das Firefox-Menü
  • Klicken Sie auf Anpassen

p1

  • Ziehen Sie CorsE in die Leiste
  • Klicken Sie nun auf das Symbol. Wenn es grün ist, werden die CORS-Header zu jeder HTTP-Antwort hinzugefügt

p2

5) Testen, ob es funktioniert

jQuery

$.get( "http://example.com/", function( data ) {
  console.log (data);
});

JavaScript

xmlhttp=new XMLHttpRequest();

xmlhttp.onreadystatechange = function() {
    if (xmlhttp.readyState == 4) {
        console.log(xmlhttp.responseText);
    }
}

xmlhttp.open("GET","http://example.com/");
xmlhttp.send();

6) Abschließende Überlegungen

Beachten Sie, dass https zu http ist nicht erlaubt .

Es mag einen Ausweg geben, aber es liegt hinter dem Umfang der Frage.

79
about:config -> security.fileuri.strict_Origin_policy -> false
33
Niklas

Ich habe festgestellt, dass meine ältere Antwort abgelehnt wurde, weil ich nicht angegeben habe, wie die gleiche Origin-Richtlinie von FF speziell deaktiviert werden soll. Hier werde ich eine detailliertere Antwort geben:

Warnung: Dies erfordert eine Neukompilierung von FF und die neu kompilierte Version von Firefox kann SOP nicht erneut aktivieren .

Schauen Sie sich Mozillas Firefox-Quellcode an und finden Sie nsScriptSecurityManager.cpp im Verzeichnis src. Ich werde das hier aufgeführte Beispiel verwenden: http: //mxr.mozilla.org/aviarybranch/source/caps/src/nsScriptSecurityManager.cpp

Rufen Sie die Funktionsimplementierung nsScriptSecurityManager :: CheckSameOriginURI auf, die sich am 03.02.2016 in Zeile 568 befindet.

Stellen Sie sicher, dass diese Funktion immer NS_OK zurückgibt.

Dadurch wird SOP für immer deaktiviert.

Die Browser-Addon-Antwort von @Giacomo sollte für die meisten Menschen nützlich sein, und ich habe diese Antwort akzeptiert. Für meine persönlichen Forschungsbedürfnisse (TL; wird hier nicht erklärt) reicht sie jedoch nicht aus, und ich nehme an, dass andere Forscher möglicherweise etwas tun müssen Ich habe hier gemacht, um SOP vollständig zu töten.

8
Yuchen Zhou

Ich habe ein Add-On geschrieben, um dieses Problem in Firefox zu beheben (Chrome, Opera Version wird bald verfügbar sein). Es funktioniert mit der neuesten Firefox-Version, mit schöner Benutzeroberfläche und Unterstützung von JS Regex: https://addons.mozilla.org/en-US/firefox/addon/cross-domain-cors

enter image description here

8
Tan Mai Van

Ab September 2016 ist dieses Addon am besten zu deaktivieren [~ # ~] cors [~ # ~] : https://github.com/fredericlb/Force-CORS/releases

Im Optionsfeld können Sie konfigurieren, welcher Header eingefügt werden soll und auf welcher Website er automatisch aktiviert werden soll.

enter image description here

3
Khado Mikhal

Das cors-everywhere Addon funktioniert für mich bis Firefox 68, nach 68 muss ich 'privacy.file_unique_Origin' anpassen -> false (durch Öffnen von 'about: config') um ' CORS Anfrage nicht HTTP 'für neue CORS Same-Origin-Regel eingeführt.

0
ob.yann