it-swarm.com.de

Wie kann ich CORS auf Firefox aktivieren?

Kann mir jemand bitte sagen, wie ich CORS auf Firefox erlaube? Ich habe es leicht in Chrome und IE geschafft, aber mit Firefox versage ich es total. Ich habe den folgenden about: config-Eintrag bearbeitet 

security.fileuri.strict_Origin_policy = false

Dieser Versuch wurde mehrmals hier veröffentlicht und wird auch auf anderen Websites angezeigt, hat jedoch keine Auswirkungen. Ich habe den Mozilla-Leitfaden zu Same-Origin-Richtlinien gelesen:

https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS

aber es erklärt nur CORS und die verwandten Themen. Eine Problemumgehung zum Aktivieren von FF ist nicht aufgeführt. 

Ich würde mich wirklich über eine endgültige Lösung freuen. 

ps: FORCECORS funktioniert auch nicht irgendwie ...

28
Ahab

Tun Sie nichts mit dem Browser. CORS wird unterstützt standardmäßig in allen modernen Browsern (und seit Firefox 3.5).

Der Server, auf den JavaScript zugreift, muss der Site, die das HTML-Dokument hostet, auf dem der JS ausgeführt wird, die Berechtigung über CORS HTTP-Antwortheader erteilen.


security.fileuri.strict_Origin_policy wird verwendet, um JS in lokalen HTML-Dokumenten Zugriff auf Ihre gesamte Festplatte zu gewähren. Legen Sie nicht false fest, da Sie dadurch Angriffe von heruntergeladenen HTML-Dokumenten (einschließlich E-Mail-Anhängen) anfällig werden.

18
Quentin

Es ist nur möglich, wenn der Server diesen Header sendet: Access-Control-Allow-Origin: *

Wenn dies Ihr Code ist, können Sie ihn folgendermaßen einrichten (PHP):

header('Access-Control-Allow-Origin: *');
9
Abbas

Ich war lange Zeit mit diesem Problem beschäftigt (CORS funktioniert nicht in FF, funktioniert aber in Chrome und anderen). Kein Rat kann helfen. Schließlich fand ich heraus, dass meine lokale dev-Subdomain (wie sub.example.dev) in / etc/hosts nicht explizit erwähnt wurde. FF kann sie also nicht finden und zeigt eine verwirrende Fehlermeldung 'Abgebrochen. .. 'in der Dev-Werkzeugleiste. 

Durch das Einfügen der exakten Subdomain in meine lokalen / etc/hosts wurde das Problem behoben. / etc/hosts ist nur eine Klartextdatei in Unix-Systemen. Sie können sie also unter dem Root-Benutzer öffnen und Ihre Subdomäne vor die IP-Adresse '127.0.0.1' setzen.

2
Vasiliy

Dieses Firefox-Add-On kann für Sie funktionieren: 

https://addons.mozilla.org/en-US/firefox/addon/cors-everywhere/

Es kann CORS zu Entwicklungszwecken ein- und ausschalten.

2
saudes

Nur um sich zwei einfache Schritte zu merken:
about: config
security.fileuri.strict_Origin_policyfalse

Funktioniert sowohl mit DTP als auch mit Android, kehrt aber manchmal zu true zurück.

1
Tom

Häufig haben Sie keine Möglichkeit, den sendenden Server einzurichten. Deshalb habe ich den Aufruf XMLHttpRequest.open in meinem Javascript in eine lokale Datei get-file.php geändert, in der der folgende Code enthalten ist:

<?php
  $file = file($_GET['url']);
  echo implode('', $file);
?>

javascript macht dies:

var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
  if (this.readyState == 4 && this.status == 200) {
    // File content is now in the this.responseText
  }
};
xhttp.open("GET", "get-file.php?url=http://site/file", true);
xhttp.send();

In meinem Fall hat dies die Einschränkung/Situation perfekt gelöst. Keine Notwendigkeit, Firefox oder Server zu hacken. Laden Sie einfach Ihre Javascript/HTML-Datei mit dieser kleinen PHP-Datei in den Server und Sie sind fertig.

0
Tickseeker