Je développe un outil de recherche local qui m'oblige à désactiver la même politique d'origine de Firefox (en termes d'accès aux scripts, je ne me soucie pas vraiment des requêtes interdomaines).
Plus précisément, je souhaite que les scripts du domaine hôte puissent accéder à des éléments arbitraires dans tous les iframes intégrés dans la page, quel que soit leur domaine.
Je connais les questions et réponses précédentes qui mentionnaient l'extension CORS FF, mais ce n'est pas ce dont j'ai besoin, car elle n'autorise que CORS, mais pas l'accès au script.
Si cela ne peut pas être fait facilement, j'apprécierais également toutes les informations qui m'indiquent une partie spécifique du code FF src que je peux modifier pour désactiver SOP, afin que je puisse recompiler FF.
la source
Réponses:
Il existe une extension Firefox qui ajoute les en-têtes CORS à toute réponse HTTP fonctionnant sur le dernier Firefox ( build 36.0.1 ) publié le 5 mars 2015 . Je l'ai testé et il fonctionne à la fois sur Windows 7 et Mavericks. Je vais vous guider à travers les étapes pour le faire fonctionner.
1) Obtenir l'extension
Vous pouvez télécharger le xpi d' ici (builds de l'auteur) ou d' ici (miroir, peut ne pas être mis à jour).
Ou téléchargez les fichiers depuis GitHub. Maintenant, c'est aussi sur Firefox Marketplace: téléchargez ici . Dans ce cas, l'addon est installé après avoir cliqué sur installer et vous pouvez passer à l'étape 4.
Si vous avez téléchargé le xpi, vous pouvez passer à l'étape 3. Si vous avez téléchargé le zip depuis GitHub, passez à l'étape 2.
2) Construire le xpi
Vous devez extraire le zip, entrer dans le dossier "cors-partout-firefox-addon-master", sélectionner tous les éléments et les compresser. Ensuite, renommez le zip créé en * .xpi
Remarque: Si vous utilisez l 'interface graphique OS X, il se peut que des fichiers cachés soient créés, vous feriez donc mieux d' utiliser la ligne de commande.
3) Installation du xpi
Vous pouvez simplement faire glisser et déposer le xpi sur Firefox, ou aller à: "about: addons", cliquer sur le rouage en haut à droite et sélectionner "installer le module complémentaire à partir du fichier", puis sélectionner votre fichier .xpi. Maintenant, redémarrez Firefox.
4) Le faire fonctionner
Désormais, l'extension ne fonctionnera pas par défaut. Vous devez faire glisser l'icône d'extension vers la barre d'extension, mais ne vous inquiétez pas. Il y a des photos!
5) Tester si cela fonctionne
jQuery
JavaScript
6) Considérations finales
Notez que https vers http n'est pas autorisé .
Il y a peut-être un moyen de contourner cela, mais c'est derrière la portée de la question.
la source
security.mixed_content.block_active_content
sur false etsecurity.mixed_content.block_display_content
sur true . Gardez à l'esprit que vous désactivez une partie de la sécurité et que cela devrait être une solution temporaire.la source
file://
protocole. Les informaticiens devraient donner plus de poids au mot «n'importe quoi» - à moins que vous n'ayez tout testé (ce que vous n'avez pas), essayez d'être plus conservateur dans vos remarques. Il en va de même pour l'utilisation du mot «inutile».J'ai réalisé que mon ancienne réponse était rejetée car je n'ai pas spécifié comment désactiver spécifiquement la même politique d'origine de FF. Ici, je vais donner une réponse plus détaillée:
Attention: Cela nécessite une nouvelle compilation de FF, et la nouvelle version compilée de Firefox ne sera pas en mesure de permettre à nouveau SOP.
Consultez le code source de Firefox de Mozilla, trouvez nsScriptSecurityManager.cpp dans le répertoire src. J'utiliserai celui listé ici comme exemple: http://mxr.mozilla.org/aviarybranch/source/caps/src/nsScriptSecurityManager.cpp
Accédez à l'implémentation de la fonction nsScriptSecurityManager :: CheckSameOriginURI, qui correspond à la ligne 568 à la date du 03/02/2016.
Faites en sorte que cette fonction renvoie toujours NS_OK.
Cela désactivera le SOP pour de bon.
La réponse de l'addon du navigateur de @Giacomo devrait être utile pour la plupart des gens et j'ai accepté cette réponse, cependant, pour mes besoins de recherche personnels (TL; je ne l'expliquerai pas ici), ce n'est pas suffisant et je pense que d'autres chercheurs devront peut-être faire quoi. Je l'ai fait ici pour tuer complètement SOP.
la source
J'ai écrit un add-on pour surmonter ce problème dans Firefox (Chrome, la version Opera l'aura bientôt). Il fonctionne avec la dernière version de Firefox, avec une belle interface utilisateur et prend en charge JS regex: https://addons.mozilla.org/en-US/firefox/addon/cross-domain-cors
la source
Depuis septembre 2016, cet addon est le meilleur pour désactiver CORS : https://github.com/fredericlb/Force-CORS/releases
Dans le panneau d'options, vous pouvez configurer l'en-tête à injecter et le site Web spécifique pour l'activer automatiquement.
la source
L' addon cors-partout fonctionne pour moi jusqu'à Firefox 68, après 68 je dois ajuster 'privacy.file_unique_origin' -> false (en ouvrant 'about: config') pour résoudre ' CORS request not HTTP ' pour la nouvelle règle CORS de même origine introduit.
la source
In
about:config
addcontent.cors.disable
(chaîne vide).la source
true
, mais ne dit rien surfalse
ou d'autres valeurs. "Dans Firefox, la préférence qui désactive CORS est content.cors.disable. Définir ceci sur true désactive CORS, donc chaque fois que c'est le cas, les requêtes CORS échoueront toujours avec cette erreur." developer.mozilla.org/en-US/docs/Web/HTTP/CORS/Errors/…