Désactiver firefox même origine
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 au script, Je ne me soucie pas vraiment des requêtes de domaines croisés).
plus précisément, je veux que les scripts dans le domaine hôte puissent accéder à des éléments arbitraires dans n'importe quelle iframes intégrées dans la page, quel que soit leur domaine.
je suis conscient Q & A précédent qui a mentionné le CORS FF extension, mais ce n'est pas ce dont j'ai besoin, car il n'autorise que les CORS, mais pas l'accès aux scripts.
si cela ne peut pas être fait facilement, j'apprécierais aussi toutes les idées qui me pointent vers une partie spécifique du code FF src que je peux modifier pour désactiver SOP, de sorte que je puisse recompiler FF.
5 réponses
il y a une extension Firefox qui ajoute les en-têtes CORS à toute réponse HTTP travaillant sur le dernier Firefox ( build 36.0.1 ) publié 5 mars 2015 . Je l'ai testé et ça marche 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 de ici (construit par l'auteur) ou de ici (miroir, ne peut pas être mis à jour).
ou téléchargez les fichiers à partir de GitHub. Maintenant C'est aussi sur Firefox Marketplace: télécharger ici . Dans ce cas, l'addon est installé après que vous cliquez 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 De GitHub, passez à l'étape 2.
2) construction du xpi
vous devez extraire le zip, entrer dans le dossier" cors-everywhere-firefox-addon-master", sélectionner tous les éléments et les zip. Ensuite, renommez le zip créé comme *.xpi
Note: Si vous utilisez L'interface graphique OS X, elle peut créer des fichiers cachés, donc vous devriez utiliser la ligne de commande.
3) Installation du xpi
vous pouvez simplement faire glisser et déposer le xpi dans firefox, ou aller à:" about:addons", cliquez sur le coin supérieur droit et sélectionnez" install add on from file", puis sélectionnez vous .fichier xpi. Maintenant, redémarrez firefox.
4) Mise au travail
maintenant, 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!
- cliquez sur le Menu Firefox
- cliquez sur Personnaliser
- Glisser-CorsE du bar
- maintenant, cliquez sur l'icône, quand elle est verte les en-têtes CORS seront ajoutés à n'importe quelle réponse HTTP
5) essai si cela fonctionne
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) considérations finales
notez que https to http n'est pas autorisé .
il y a peut-être un moyen de l'contourner, mais c'est derrière la portée de la question.
about:config -> security.fileuri.strict_origin_policy -> false
j'ai réalisé que ma réponse plus ancienne est rétrogradée parce que je n'ai pas précisé comment désactiver la même politique D'origine de FF. Je vais donner ici une réponse plus détaillée:
Avertissement: Ceci nécessite une re-compilation de FF, et la nouvelle version compilée de Firefox ne sera pas en mesure de activer PON de nouveau.
vérifiez le code source de Firefox de Mozilla, trouvez nsScriptSecurityManager.rpc dans le répertoire src. Je vais utiliser une énumérés ici comme exemple: http://mxr.mozilla.org/aviarybranch/source/caps/src/nsScriptSecurityManager.cpp
allez à la fonction implementation nsScriptSecurityManager::CheckSameOriginURI, qui est la ligne 568 en date du 03/02/2016.
Faire que la fonction retourne toujours NS_OK.
ceci désactivera Sop pour de bon.
le navigateur addon réponse par @Giacomo devrait être utile pour la plupart les gens et moi avons accepté cette réponse, cependant, pour mes besoins personnels de recherche (TL;ne m'expliquera pas ici) il n'est pas suffisant et je me dis que d'autres chercheurs peuvent avoir besoin de faire ce que j'ai fait ici pour tuer complètement SOP.
j'ai écrit un add-on pour surmonter ce problème dans Firefox (Chrome, Version Opéra aura bientôt). Il fonctionne avec la dernière version de Firefox, avec de belles UI et le soutien js regex: https://addons.mozilla.org/en-US/firefox/addon/cross-domain-cors
Que de 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 spécifier le site web pour qu'il soit activé automatiquement.