Comment activer CORS sur Firefox?
quelqu'un peut-il s'il vous plaît me dire comment j'autorise CORS sur firefox? Je me suis facilement débrouillé sur Chrome et IE, mais j'échoue totalement avec Firefox. J'ai édité ce qui suit à propos de: config entry
security.fileuri.strict_origin_policy = false
Cette tentative a été posté plusieurs fois ici et il est dit sur d'autres sites aussi, mais il n'a pas d'effet. J'ai lu le Mozilla guide de la Même origine-politiques:
https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS
mais il explique simplement CORS et les sujets connexes. Une solution de contournement pour l'activer sur FF N'est pas listée.
j'apprécierais vraiment une solution définitive.
ps: FORCECORS ne fonctionne pas non plus d'une façon ou d'une autre...
6 réponses
ne rien faire au navigateur. CORS est supporté par défaut sur tous les navigateurs modernes (et depuis Firefox 3.5).
le serveur auquel on accède par JavaScript doit donner au site hébergeant le document HTML dans lequel le JS exécute la permission via les en-têtes de réponse HTTP CORS.
security.fileuri.strict_origin_policy
est utilisé pour donner à JS dans les documents HTML locaux l'accès à l'ensemble de votre disque dur. N'utilisez pas de false
comme il vous rend vulnérable aux attaques de documents HTML téléchargés (y compris les pièces jointes aux courriels).
ce n'est possible que lorsque le serveur envoie cet en-tête: Access-Control-Allow-Origin: *
si c'est votre code, alors vous pouvez le configurer comme ceci (PHP):
header('Access-Control-Allow-Origin: *');
j'ai été coincé avec ce problème pendant longtemps (CORS ne fonctionne pas en FF, mais fonctionne en Chrome et autres). Aucun conseil ne pourrait aider. Enfin, j'ai trouvé que mon dev local Sous-Domaine (comme sub.exemple.dev) n'a pas été explicitement mentionné dans / etc / hosts, donc FF just n'est pas capable de le trouver et affiche un message d'erreur confus 'Abandonnée...' dans le panneau dev tools.
Mettre l'exacte sous-domaine dans mon local / etc / hosts résolu le problème. / etc / hosts n'est qu'un simple fichier texte dans les systèmes unix, vous pouvez donc l'ouvrir sous l'utilisateur root et placer votre sous-domaine devant l'adresse ip '127.0.0.1'.
cet add-on Firefox peut fonctionner pour vous:
https://addons.mozilla.org/en-US/firefox/addon/cors-everywhere/
il peut basculer CORS sur et Hors pour les besoins du développement.
très souvent, vous n'avez pas d'option pour configurer le serveur d'envoi donc ce que j'ai fait, j'ai changé la XMLHttpRequest.ouvrez l'appel dans mon javascript à un fichier get local.fichier php où j'ai le code suivant:
<?php
$file = file($_GET['url']);
echo implode('', $file);
?>
javascript fait ceci:
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();
dans mon cas cela a résolu la restriction / situation juste parfaitement. Pas besoin de pirater Firefox ou des serveurs. Il suffit de charger votre fichier javascript / html avec ce petit fichier php dans le serveur et vous avez terminé.
tapez simplement dans votre navigateur SCRO ajouter à firefox Puis téléchargez ceci et installez sur le navigateur enfin vous avez trouvé en haut à droite un sort de noyau pour basculer ce vert pour enable et rouge pour not enable