मेनिफ़ेस्ट - सैंडबॉक्स

चेतावनी: Chrome के 57 वर्शन से, सैंडबॉक्स किए गए पेजों में बाहरी वेब कॉन्टेंट (इसमें एम्बेड किए गए फ़्रेम और स्क्रिप्ट भी शामिल हैं) को अनुमति नहीं दी जाएगी. इसके बजाय, कृपया वेबव्यू का इस्तेमाल करें.

यह ऐप्लिकेशन या एक्सटेंशन पेजों के कलेक्शन के बारे में बताता है जिन्हें सैंडबॉक्स किए गए यूनीक ऑरिजिन में दिखाया जाना है. साथ ही, इसके साथ इस्तेमाल करने के लिए, कॉन्टेंट की सुरक्षा से जुड़ी नीति के बारे में भी बताया जाता है. सैंडबॉक्स में होने के दो फ़ायदे हैं:

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

    उदाहरण के लिए, यहां बताया गया है कि दो एक्सटेंशन पेजों को कस्टम सीएसपी वाले सैंडबॉक्स में कैसे दिखाया जाए:

    {
      ...
      "sandbox": {
        "pages": [
          "page1.html",
          "directory/page2.html"
        ]
        // content_security_policy is optional.
        "content_security_policy":
            "sandbox allow-scripts; script-src 'self'"
      ],
      ...
    }
    

    अगर कोई वैल्यू तय नहीं की गई है, तो डिफ़ॉल्ट content_security_policy वैल्यू के तौर पर sandbox allow-scripts allow-forms allow-popups allow-modals; script-src 'self' 'unsafe-inline' 'unsafe-eval'; child-src 'self'; को चुना जाता है. सैंडबॉक्स को और सीमित करने के लिए, सीएसपी वैल्यू तय की जा सकती है. हालांकि, यह वैल्यू होना ज़रूरी है sandbox डायरेक्टिव और इसमें हो सकता है कि allow-same-origin टोकन न हो (HTML5 स्पेसिफ़िकेशन को ध्यान में रखकर बनाया गया है. साथ ही, आपका तय किया हुआ सीएसपी, लोडिंग की अनुमति नहीं दे सकता बाहरी वेब कॉन्टेंट को सैंडबॉक्स में भेजे गए पेजों में शामिल कर सकते हैं.

ध्यान दें कि आपको सिर्फ़ उन पेजों की सूची बनानी है जिन्हें आपको विंडो या फ़्रेम में लोड करना है. सैंडबॉक्स किए गए पेजों (जैसे, स्टाइलशीट या JavaScript सोर्स फ़ाइलें) के इस्तेमाल किए गए रिसॉर्स को sandboxed_page सूची में दिखने की ज़रूरत नहीं है. वे उस पेज के सैंडबॉक्स का इस्तेमाल करेंगे जिसने उन्हें एम्बेड किया है.

"Chrome एक्सटेंशन में eval फ़ंक्शन का इस्तेमाल करना. सुरक्षित तरीके से." लागू करने के बारे में ज़्यादा जानने के लिए सैंडबॉक्सिंग वर्कफ़्लो, जो लाइब्रेरी का इस्तेमाल करने की सुविधा देता है. इससे उन लाइब्रेरी का इस्तेमाल किया जा सकता है जिन्हें चलाने पर समस्याएं आ सकती हैं एक्सटेंशन की डिफ़ॉल्ट कॉन्टेंट की सुरक्षा नीति.

सैंडबॉक्स किए गए पेज की जानकारी सिर्फ़ manifest_version 2 या उसके बाद के वर्शन का इस्तेमाल करने पर दी जा सकती है.