समान मूल नीति फ़ायरफ़ॉक्स को अक्षम करें


110

मैं एक स्थानीय शोध उपकरण विकसित कर रहा हूं, जिसके लिए मुझे फ़ायरफ़ॉक्स की समान मूल नीति (स्क्रिप्ट एक्सेस के संदर्भ में, मुझे वास्तव में क्रॉस डेटा अनुरोधों की परवाह नहीं है) को बंद करने की आवश्यकता है।

अधिक विशेष रूप से, मैं चाहता हूं कि होस्ट डोमेन में लिपियों को अपने डोमेन की परवाह किए बिना पृष्ठ में एम्बेडेड किसी भी iframes में मनमानी तत्वों तक पहुंचने में सक्षम होना चाहिए।

मैं पिछले प्रश्नोत्तर के रूप में अवगत हूं, जिसमें कॉर्स एफएफ एक्सटेंशन का उल्लेख किया गया है, लेकिन यह नहीं है कि मुझे क्या चाहिए, क्योंकि यह केवल कॉर्स की अनुमति देता है, लेकिन स्क्रिप्ट का उपयोग नहीं।

यदि इसे आसानी से नहीं किया जा सकता है, तो मैं किसी भी अंतर्दृष्टि की सराहना करूंगा जो मुझे एफएफ src कोड के विशिष्ट भाग की ओर इशारा करती है जिसे मैं SOP को निष्क्रिय करने के लिए संशोधित कर सकता हूं, ताकि मैं FF को फिर से जोड़ सकूं।


4
यह डेवलपर्स के साथ एक दिलचस्प बात होगी। चूंकि एक ही मूल नीति उपयोगकर्ताओं की सुरक्षा के लिए डिज़ाइन की गई है, न कि डेवलपर्स के लिए, यह संभव है कि दिए गए साइट से स्क्रिप्ट को प्रतिबंधों के पार जाने की अनुमति दी जाए । लेकिन डेवलपर्स भी लोग हैं, इसलिए आप अपनी व्यक्तिगत जानकारी भी ढीली कर सकते हैं।
दानूबियन नाविक

1
मेरा मानना ​​है कि यह अभी संभव नहीं है, यहाँ फ़ायरफ़ॉक्स Bugzilla में संबंधित बग रिपोर्ट है: Bugzilla.mozilla.org/show_bug.cgi?id=1039678
rutsky

केवल अच्छा समाधान डोमेन के आधार पर प्लगइन द्वारा हेडर इंजेक्ट करना है: stackoverflow.com/a/44093160/956397 और कुछ भी असुरक्षित नहीं है ...
PiNNumber

जवाबों:


82

एक फ़ायरफ़ॉक्स एक्सटेंशन है जो 5 मार्च 2015 को जारी नवीनतम फ़ायरफ़ॉक्स ( बिल्ड 36.0.1 ) पर काम करने वाले किसी भी HTTP प्रतिक्रिया के लिए कॉर्स हेडर जोड़ता है । मैंने इसका परीक्षण किया और यह विंडोज 7 और मैवरिक्स दोनों पर काम कर रहा है। मैं आपको यह काम करने के लिए चरणों का मार्गदर्शन करूँगा।

1) विस्तार प्राप्त करना

आप या तो xpi को यहाँ से डाउनलोड कर सकते हैं (लेखक बनाता है) या यहाँ से (दर्पण, अद्यतन नहीं किया जा सकता है)।

या GitHub से फ़ाइलों को डाउनलोड करें । अब यह फ़ायरफ़ॉक्स मार्केटप्लेस पर भी है: यहाँ डाउनलोड करें । इस स्थिति में, addon स्थापित होने के बाद स्थापित किया गया है और आप चरण 4 पर छोड़ सकते हैं।

यदि आपने xpi डाउनलोड किया है तो आप चरण 3 पर जा सकते हैं। यदि आपने GitHub से ज़िप डाउनलोड किया है, तो चरण 2 पर जाएँ।

2) xpi का निर्माण

आपको ज़िप निकालने की ज़रूरत है, "cors-हर जगह-फ़ायरफ़ॉक्स-एडऑन-मास्टर" फ़ोल्डर के अंदर जाओ, सभी वस्तुओं का चयन करें और उन्हें ज़िप करें। फिर, निर्मित ज़िप को * .xpi के रूप में नाम बदलें

नोट: यदि आप OS X gui का उपयोग कर रहे हैं, तो यह कुछ छिपी हुई फ़ाइलें बना सकता है, इसलिए आप कमांड लाइन का उपयोग करके बेहतर हो सकते हैं।

3) xpi को स्थापित करना

आप बस xpi को फ़ायरफ़ॉक्स पर ड्रैग और ड्रॉप कर सकते हैं, या: "about: addons" पर जाएं, ऊपरी दाएं कोने पर स्थित कॉग पर क्लिक करें और "फ़ाइल से ऐड इंस्टॉल करें" चुनें, फिर आपको .xpi फ़ाइल चुनें। अब, फ़ायरफ़ॉक्स पुनः आरंभ करें।

4) यह काम करने के लिए हो रही है

अब, डिफ़ॉल्ट रूप से एक्सटेंशन काम नहीं करेगा। आपको एक्सटेंशन आइकन को एक्सटेंशन बार में खींचने की आवश्यकता है, लेकिन चिंता न करें। चित्र हैं!

  • फ़ायरफ़ॉक्स मेनू पर क्लिक करें
  • Customize पर क्लिक करे

p1

  • CorsE को बार में खींचें
  • अब, आइकन पर क्लिक करें, जब यह हरा हो तो किसी भी HTTP प्रतिक्रिया में CORS हेडर जोड़ा जाएगा

p2

5) परीक्षण अगर यह काम कर रहा है

jQuery

$.get( "http://example.com/", function( data ) {
  console.log (data);
});

जावास्क्रिप्ट

xmlhttp=new XMLHttpRequest();

xmlhttp.onreadystatechange = function() {
    if (xmlhttp.readyState == 4) {
        console.log(xmlhttp.responseText);
    }
}

xmlhttp.open("GET","http://example.com/");
xmlhttp.send();

6) अंतिम विचार

ध्यान दें कि https से http की अनुमति नहीं है

इसके चारों ओर एक रास्ता हो सकता है, लेकिन यह सवाल के दायरे के पीछे है।


1
आप कर सकते हैं अक्षम HTTP / HTTPS की स्थापना करके मिश्रित सामग्री की सुरक्षा security.mixed_content.block_active_contentकरने के लिए झूठे और security.mixed_content.block_display_contentकरने के लिए सही । ध्यान रखें कि आप कुछ सुरक्षा अक्षम कर रहे हैं और यह एक अस्थायी समाधान होना चाहिए।
bufh

4
इस एडऑन के लेखक के रूप में, मैं वास्तव में आश्वस्त नहीं हूं कि यह इस विशेष प्रश्न को हल करेगा। हालांकि एक उल्लेख प्राप्त करना अच्छा है।
स्पैनिबस

2
@spenibus - आप पर अपने ऐड मिलना चाहिए पर हस्ताक्षर किए - - मैं इसे :( स्थापित नहीं कर सकता support.mozilla.org/en-US/kb/...
पीटर Ajtai

3
@PeterAjtai मोज़िला मुझे देखने के लिए मुझे परेशान करने की कोशिश करता रहता है। समीक्षा की प्रतीक्षा कर रहे हैं: addons.mozilla.org/en-US/firefox/addon/cors-everywhere उम्मीद है कि ऑटो हस्ताक्षर किए जाएं।
स्पेनीबस

1
के बारे में: config सेट xpinstall.signatures.requon को ऐडऑन स्थापित करने के लिए गलत है। इसने मेरे लिए काम किया।
user2345998

43
about:config -> security.fileuri.strict_origin_policy -> false

21
धन्यवाद @Niklas, हालांकि, मुझे लगता है कि यह केवल फ़ाइलरी समान मूल नीति जांच को निष्क्रिय करता है - शायद स्थानीय वेब देव परीक्षण के लिए उपयोग किया जाता है। यह तब भी मुझे रोक देता है जब मैं एक डोमेन से एक डोमेन से डोमेन B के साथ एक iframe में DOM नोड्स का उपयोग करने की कोशिश कर रहा हूं
Yuchen Zhou

127
यह कुछ नहीं करता है
vknyvz

2
पुष्टि की कि यह मेरे फ़ायरफ़ॉक्स (डेवलपर) संस्करण में काम करता है: 40. टिप के लिए धन्यवाद @ निक्लास।
बुफ़

11
यह विशेष रूप से डिबगिंग के लिए एक सेटिंग है, और अन्य स्थानीय फ़ाइलों तक पहुँच के लिए एक स्थानीय फ़ाइलों को नियंत्रित करता है (एक स्थानीय फ़ाइल को सही करने के लिए केवल एक ही फ़ोल्डर या उप फ़ोल्डर में स्थानीय फ़ाइलों तक पहुँच सकता है, एक स्थानीय फ़ाइल के लिए सेट सभी स्थानीय फ़ाइलों तक पहुँच सकता है) । स्रोत
जॉन एगर्टन

5
यह कुछ ऐसा करता है, मेरे मामले में यह मुझे file://प्रोटोकॉल पर परोसे गए दस्तावेज़ से स्थानीय संसाधनों तक पहुंचने की अनुमति देता है। कंप्यूटर वैज्ञानिकों को "कुछ भी" शब्द में अधिक वजन डालना चाहिए - जब तक कि आपने सब कुछ (जो आप नहीं किया है) का परीक्षण किया है , अपनी टिप्पणी के साथ अधिक रूढ़िवादी होने की कोशिश करें। एक ही शब्द "बेकार" के उपयोग के लिए जाता है।
amn

12

मुझे एहसास हुआ कि मेरे पुराने उत्तर को अस्वीकृत कर दिया गया है क्योंकि मैंने निर्दिष्ट नहीं किया कि एफएफ की समान मूल नीति को विशेष रूप से कैसे निष्क्रिय किया जाए। यहाँ मैं अधिक विस्तृत उत्तर दूंगा:

चेतावनी: इसके लिए FF के पुन: संकलन की आवश्यकता होती है, और फ़ायरफ़ॉक्स का नया संकलित संस्करण फिर से SOP को सक्षम करने में सक्षम नहीं होगा ।

मोज़िला फ़ायरफ़ॉक्स के सोर्स कोड को देखें, src डायरेक्टरी में nsScriptSecurityManager.cpp खोजें। मैं यहां सूचीबद्ध एक उदाहरण के रूप में उपयोग करूंगा: http://mxr.mozilla.org/aviarybranch/source/caps/src/nsScriptSecurityManager.cpp

फंक्शन इम्प्लीमेंटेशन nsScriptSecurityManager :: CheckSameOriginURI पर जाएं, जो दिनांक 03/02/2016 तक लाइन 568 है।

उस फ़ंक्शन को हमेशा NS_OK वापस करें।

यह SOP को अच्छे के लिए निष्क्रिय कर देगा।

@Giacomo द्वारा ब्राउज़र एडऑन उत्तर अधिकांश लोगों के लिए उपयोगी होना चाहिए और मैंने उस उत्तर को स्वीकार कर लिया है, हालांकि, मेरी व्यक्तिगत शोध आवश्यकताओं के लिए (टीएल यहाँ व्याख्या नहीं करेगा) यह पर्याप्त नहीं है और मुझे लगता है कि अन्य शोधकर्ताओं को यह करने की आवश्यकता हो सकती है मैंने एसओपी को पूरी तरह से मारने के लिए यहां किया था।


आज के रूप में लाइन 499, Git दर्पण: github.com/mozilla/gecko-dev/blob/…
kamranicus

9

मैंने फ़ायरफ़ॉक्स (क्रोम, ओपेरा संस्करण जल्द ही होगा) में इस मुद्दे को दूर करने के लिए एक ऐड-ऑन लिखा। यह सुंदर UI के साथ नवीनतम फ़ायरफ़ॉक्स संस्करण के साथ काम करता है और जेएस रेगेक्स का समर्थन करता है: https://addons.mozilla.org/en-US/firefox/addon/cross-domain-cors

यहां छवि विवरण दर्ज करें


1
धन्यवाद। इसके अतिरिक्त, कॉर्स-एवरीवेयर एक्सटेंशन भी है जो समान है।
nachtigall

3

के रूप में सितंबर वर्ष 2016 इस ऐड-ऑन अक्षम करने के लिए सबसे अच्छा है CORS : https://github.com/fredericlb/Force-CORS/releases

विकल्प पैनल में आप कौन से हेडर को इंजेक्ट कर सकते हैं और विशिष्ट वेबसाइट को स्वचालित रूप से सक्षम करने के लिए।

यहां छवि विवरण दर्ज करें


1
से wiki.mozilla.org/Add-ons/Extension_Signing : फ़ायरफ़ॉक्स 48: रिलीज़ और डेस्कटॉप के लिए Firefox के बीटा संस्करण अहस्ताक्षरित एक्सटेंशन स्थापित होने के लिए कोई ओवरराइड साथ अनुमति नहीं दी जाएगी। मुझे इस ऐडऑन का एक हस्ताक्षरित संस्करण नहीं मिला।
फेलिक्सम

1
@FelixM यह कैसे करना है: ghacks.net/2016/08/14/…
खादो मिखाल

@ फ़ेलिक्सम फ़ायरफ़ॉक्स डेवलपर संस्करण में "xpinstall.signatures.required" बूलियन के बारे में "कॉन्फिग: कॉन्फिगर" झंडे का विकल्प है। हालाँकि, इस एक्सटेंशन का संस्करण 0.1.1 फ़ायरफ़ॉक्स डेवलपर संस्करण 58.0 (क्वांटम) के साथ संगत नहीं है।
23

2

CORS-हर जगह हल करने के लिए ':> झूठी (खुला' config के बारे में 'द्वारा) - फ़ायरफ़ॉक्स 68 तक मेरे लिए ऐड-ऑन काम करता है, के बाद 68 मैं जरूरत' privacy.file_unique_origin 'समायोजित करने के लिए CORS का अनुरोध नहीं HTTP नई CORS एक ही मूल के शासन के लिए' की शुरुआत की।


1

में about:configजोड़ने content.cors.disable(रिक्त स्ट्रिंग)।


1
क्या यह परीक्षण किया गया है? मैं जो पढ़ रहा हूं, उससे यह तय करने के लिए कि सभी कोर अनुरोधों को विफल करने के लिए बनाया गया था true, लेकिन falseअन्य मूल्यों के बारे में कुछ नहीं कहते हैं। "फ़ायरफ़ॉक्स में, जो प्राथमिकता कॉर्स को निष्क्रिय करता है वह content.cors.disable है। इसे सही ट्रू को निष्क्रिय करने के लिए सेट करता है, इसलिए जब भी ऐसा होता है, तो कॉर्स अनुरोध हमेशा इस त्रुटि के साथ विफल हो जाएगा।" developer.mozilla.org/en-US/docs/Web/HTTP/CORS/Errors/…
स्टील्थेंनिंजा

फ़ायरफ़ॉक्स 68.7 के रूप में यह सेटिंग भी उपलब्ध नहीं है।
गुन्नार बर्नस्टीन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.