2012-10-14 11 views
14

मैं फ़ायरफ़ॉक्स (और क्रोम) पर क्लाइंट पक्ष पर एक्स-फ़्रेम-विकल्प शीर्षलेख को डिब्बे करना चाहता हूं। मैं क्या पाया है: Overcoming "Display forbidden by X-Frame-Options" एक गैर ग्राहक के पक्ष समाधान मेरा उद्देश्य के लिए उपयुक्त नहीं हैक्लाइंट साइड पर एक्स-फ़्रेम-विकल्प अक्षम करें

https://bugzilla.mozilla.org/show_bug.cgi?id=707893 यह बहुत करीब हो रहा है। मैंने user_pref ("b2g.ignoreXFrameOptions", सत्य) के साथ प्रोफ़ाइल dir में user.js बनाने का प्रयास किया; लेकिन यह काम नहीं किया। दूसरी आखिरी प्रविष्टि संशोधित कोड के साथ एफएफ संकलित करने के लिए प्रतीत होता है? यदि यह मामला है, तो यह मेरे लिए भी एक संभावित समाधान नहीं है।

मैंने कुछ जेएस के साथ एक छोटा HTML पृष्ठ लिखा है जो यूट्यूब वीडियो की एक सूची को लगातार उन्हें आईफ्रेम में लोड करके लूप करता है। मुझे पता है कि यूट्यूब प्लेलिस्ट का समर्थन करता है लेकिन वे चूसते हैं और मैं वीडियो डाउनलोड नहीं करना चाहता हूं। इसके अलावा, यह अच्छा होगा अगर ब्राउज़र केवल स्थानीय फ़ाइलों के लिए एक्स-फ़्रेम-विकल्प को अनदेखा करता है। इससे कुछ हद तक सुरक्षा छेद को कम किया जा सकता है जिसे मैं इसे अक्षम करके खोलता हूं। क्रोम के लिए, एक समाधान अच्छा होगा लेकिन यह महत्वपूर्ण नहीं है।

मुझे लगता है कि एक और दृष्टिकोण आने वाले टीसीपी/आईपी पैकेट को अवरुद्ध करना होगा जिसमें HTTP प्रतिक्रिया हो और इस हेडर लाइन को हटा दें लेकिन यह काफी अधिक है।

[संपादित करें] youtube.com/embed का उपयोग न के बाद से बहुत से वीडियो एम्बेड करने की अनुमति एक बुरा समाधान नहीं है ...

उत्तर

6

यह आसानी से एक Firefox विस्तार के माध्यम से एक HTTP ऑब्जर्वर का प्रयोग कर प्राप्त किया जा सकता है। यही कारण है कि पर्यवेक्षक कुछ इस तरह दिखेगा: https://developer.mozilla.org/en/docs/Observer_Notifications#HTTP_requests

[2:

let myListener = 
{ 
    observe : function (aSubject, aTopic, aData) 
    { 
     if (aTopic == "http-on-examine-response") 
     { 
      let channel = aSubject.QueryInterface(Ci.nsIHttpChannel); 

      try 
      { // getResponseHeader will throw if the header isn't set 

       let hasXFO = channel.getResponseHeader('X-Frame-Options'); 

       if (hasXFO) 
       { 
        // Header found, disable it 
        channel.setResponseHeader('X-Frame-Options', '', false); 
       } 
      } 
      catch (e) {} 
     } 
    } 
} 

आप इस तरह कैसे MDN पर [1] [2]

[1] पर्यवेक्षक स्थापित करने के लिए के रूप में आगे की जानकारी प्राप्त कर सकते हैं ]: https://developer.mozilla.org/en-US/docs/Setting_HTTP_request_headers#Registering

+0

अन्य ब्राउज़र पर अधिक जानकारी उपयोगी रूप में अच्छी तरह होगा! –

3

मरगोक कोड का उपयोग करके, मैंने वेबपृष्ठों को प्रदर्शित करने की अनुमति देने के लिए एक फ़ायरफ़ॉक्स ऐड-ऑन बनाया है जिसमें उनके शीर्षलेख में एक्स-फ़्रेम-विकल्प हैं, इसलिए उन्हें iframe के माध्यम से एक्सेस किए जाने पर प्रदर्शित किया जाएगा। यह डाउनलोड किया जा सकता/यहाँ स्थापित: https://addons.mozilla.org/en-US/firefox/addon/ignore-x-frame-options/

+0

रेने Houkema, मैंने कोशिश की लेकिन मेरे मामले को हल नहीं किया मैंने ऐड-ऑन समीक्षा अनुभाग –

+0

@ रेने Houkema में जानकारी छोड़ दी मैंने कोशिश की और काम नहीं किया मैंने मुद्रित किया है त्रुटि: [$ इंजेक्टर: modulerr] मॉड्यूल को तत्काल करने में विफल demoApp के कारण ... – oshingc

+0

उत्कृष्ट - पूरी तरह से काम किया! –

संबंधित मुद्दे