मेनिफ़ेस्ट - वेब पर उपलब्ध संसाधन

स्ट्रिंग का कलेक्शन, जो पैकेज किए गए रिसॉर्स के उन पाथ के बारे में बताता है जिनके इस्तेमाल किए जाने की उम्मीद होती है वेब पेज के कॉन्टेक्स्ट के बारे में ज़्यादा जानें. ये पाथ, पैकेज रूट से जुड़े होते हैं और इनमें वाइल्डकार्ड हो सकते हैं. इसके लिए उदाहरण के लिए, एक ऐसा एक्सटेंशन जो कस्टम पैरामीटर बनाने के मकसद से कॉन्टेंट की स्क्रिप्ट डालता है example.com का इंटरफ़ेस ऐसे किसी भी संसाधन (इमेज, आइकॉन, स्टाइलशीट, स्क्रिप्ट वगैरह) के निर्देशों का पालन करें:

{
  ...
  "web_accessible_resources": [
    "images/*.png",
    "style/double-rainbow.css",
    "script/double-rainbow.js",
    "script/main.js",
    "templates/*"
  ],
  ...
}

इसके बाद, ये रिसॉर्स, यूआरएल के ज़रिए वेबपेज पर उपलब्ध होंगे chrome-extension://[PACKAGE ID]/[PATH] को extension.getURL की मदद से जनरेट किया जा सकता है तरीका. अनुमति वाली सूची में शामिल संसाधनों को सही CORS हेडर के साथ दिखाया जाता है, ताकि वे XHR जैसे मैकेनिज़्म की मदद से.

वेब ऑरिजिन से एक्सटेंशन रिसॉर्स पर नेविगेट करने की सुविधा तब तक ब्लॉक रहेगी, जब तक कि रिसॉर्स को को वेब ऐक्सेस करने योग्य के रूप में सूचीबद्ध किया जाना चाहिए. इन कोने केस को ध्यान में रखें:

  • जब कोई एक्सटेंशन सार्वजनिक तौर पर रीडायरेक्ट करने के लिए, webRequest या declarativeWebRequest एपीआई का इस्तेमाल करता है किसी ऐसे संसाधन के लिए किया जाने वाला संसाधन अनुरोध जो वेब पर ऐक्सेस नहीं है, उस तरह के अनुरोध को भी ब्लॉक कर दिया जाता है.
  • ऊपर दिए गए नियम को तब भी लागू किया जा सकता है, जब जिस संसाधन को वेब ऐक्सेस नहीं किया जा सकता उसका मालिकाना हक रीडायरेक्ट करने वाले व्यक्ति के पास हो एक्सटेंशन चुनें.

कॉन्टेंट स्क्रिप्ट को, अनुमति वाली सूची में शामिल करना ज़रूरी नहीं है.

मेनिफ़ेस्ट वर्शन 2 से पहले के किसी भी एक्सटेंशन में मौजूद सभी संसाधनों को वेब. इससे नुकसान पहुंचाने वाली वेबसाइट को, उपयोगकर्ता के इंस्टॉल किए गए एक्सटेंशन फ़िंगरप्रिंट करने की अनुमति मिली या इंस्टॉल किए गए एक्सटेंशन में जोखिम की आशंकाओं (उदाहरण के लिए, XSS गड़बड़ियां) का फ़ायदा उठाना शामिल है. सीमित करना उन संसाधनों की उपलब्धता जिनका मकसद साफ़ तौर पर वेब से ऐक्सेस करना है. ये दोनों सुविधाएं, उपलब्ध हमले की जगह को कम करना और उपयोगकर्ताओं की निजता की सुरक्षा करना.

डिफ़ॉल्ट रूप से उपलब्ध

manifest_version 2 या उसके बाद के वर्शन का इस्तेमाल करने वाले पैकेज में मौजूद संसाधन, डिफ़ॉल्ट रूप से ब्लॉक होते हैं, साथ ही, इस प्रॉपर्टी के ज़रिए इस्तेमाल करने के लिए, अनुमति वाली सूची में शामिल होना चाहिए.

manifest_version 1 का इस्तेमाल करने वाले पैकेज में मौजूद संसाधन, डिफ़ॉल्ट रूप से उपलब्ध होते हैं. हालांकि, अगर ऐसा किया जाता है इस प्रॉपर्टी को सेट करते हैं, तो इसे अनुमति वाली सूची में शामिल सभी संसाधनों की पूरी सूची के तौर पर माना जाएगा. जो संसाधन सूची में नहीं हैं उन्हें ब्लॉक कर दिया जाएगा.