Ich entwickle ein lokales Recherchetool, bei dem ich die gleiche Ursprungsrichtlinie von Firefox deaktivieren muss (in Bezug auf den Skriptzugriff interessieren mich domänenübergreifende Anfragen nicht wirklich).
Insbesondere möchte ich, dass Skripte in der Hostdomä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 sie nur CORS erlaubt, aber keinen Skriptzugriff.
Wenn dies nicht einfach möglich ist, würde ich mich auch über Erkenntnisse freuen, die mich auf einen bestimmten Teil des FF-Quellcodes verweisen, den ich ändern kann, um SOP zu deaktivieren, damit ich FF neu kompilieren kann.
quelle
Antworten:
Es gibt eine Firefox-Erweiterung, die die CORS-Header zu jeder HTTP-Antwort hinzufügt, die mit dem neuesten Firefox ( Build 36.0.1 ) arbeitet, der am 5. März 2015 veröffentlicht wurde . Ich habe es getestet und es funktioniert sowohl unter Windows 7 als auch unter Mavericks. Ich werde Sie durch die Schritte führen, damit es funktioniert.
1) Die Erweiterung erhalten
Sie können entweder die xpi Download von hier (Autor baut) oder von hier (Spiegel, können nicht aktualisiert werden).
Oder laden Sie die Dateien von GitHub herunter . Jetzt ist es auch auf dem Firefox Marketplace: 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) Erstellen des xpi
Sie müssen die Zip-Datei extrahieren, in den Ordner "cors -where-Firefox-Addon-Master" wechseln, alle Elemente auswählen und komprimieren. Benennen Sie dann die erstellte Zip-Datei in * .xpi um
Hinweis: Wenn Sie die OS X-GUI verwenden, werden möglicherweise einige versteckte Dateien erstellt, sodass Sie die Befehlszeile besser verwenden sollten.
3) Installieren des xpi
Sie können das xpi einfach per Drag & Drop auf Firefox ziehen oder zu "about: addons" gehen, auf das Zahnrad in der oberen rechten Ecke klicken und "Add-On aus Datei installieren" auswählen und dann Ihre .xpi-Datei auswählen. Starten Sie jetzt Firefox neu.
4) Damit 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!
5) Testen, ob es funktioniert
jQuery
JavaScript
6) Abschließende Überlegungen
Beachten Sie, dass https to http nicht zulässig ist .
Es mag einen Weg geben, aber es liegt hinter dem Umfang der Frage.
quelle
security.mixed_content.block_active_content
auf falsche undsecurity.mixed_content.block_display_content
zu wahren . Denken Sie daran, dass Sie die Sicherheit deaktivieren und dies eine vorübergehende Lösung sein sollte.quelle
file://
Protokoll bereitgestellt wird, auf lokale Ressourcen zuzugreifen . Informatiker sollten dem Wort "irgendetwas" mehr Gewicht beimessen - wenn Sie nicht alles getestet haben (was Sie nicht haben), versuchen Sie, mit Ihren Bemerkungen konservativer umzugehen. Gleiches gilt für die Verwendung des Wortes "nutzlos".Ich habe festgestellt, dass meine ältere Antwort abgelehnt wurde, weil ich nicht angegeben habe, wie die gleiche Ursprungsrichtlinie 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 wieder aktivieren .
Überprüfen Sie den Quellcode von Mozilla Firefox und finden Sie nsScriptSecurityManager.cpp im Verzeichnis src. Ich werde das hier aufgeführte als Beispiel verwenden: http://mxr.mozilla.org/aviarybranch/source/caps/src/nsScriptSecurityManager.cpp
Wechseln Sie zur Funktionsimplementierung nsScriptSecurityManager :: CheckSameOriginURI, Zeile 568 zum Datum 03.02.2016.
Stellen Sie sicher, dass diese Funktion immer NS_OK zurückgibt.
Dadurch wird SOP endgültig 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 denke, andere Forscher müssen möglicherweise was tun Ich habe hier getan, um SOP vollständig zu töten.
quelle
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 einer schönen Benutzeroberfläche und unterstützt JS-Regex: https://addons.mozilla.org/en-US/firefox/addon/cross-domain-cors
quelle
Ab September 2016 ist dieses Addon das beste, um CORS zu deaktivieren : https://github.com/fredericlb/Force-CORS/releases
Im Optionsfeld können Sie konfigurieren, welcher Header eingefügt werden soll und welche Website automatisch aktiviert werden soll.
quelle
Das Cors-Überall- Addon funktioniert für mich bis Firefox 68, nach 68 muss ich 'privacy.file_unique_origin' -> false (durch Öffnen von 'about: config') anpassen, um ' CORS-Anforderung nicht HTTP ' für die neue CORS-Regel gleichen Ursprungs zu lösen eingeführt.
quelle
In
about:config
addcontent.cors.disable
(leere Zeichenfolge).quelle
true
, aber nichts überfalse
oder andere Werte aussagen . "In Firefox ist die Einstellung, die CORS deaktiviert, content.cors.disable. Wenn Sie dies auf true setzen, wird CORS deaktiviert. Wenn dies der Fall ist, schlagen CORS-Anforderungen immer mit diesem Fehler fehl." developer.mozilla.org/en-US/docs/Web/HTTP/CORS/Errors/…