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

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

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

  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 या इसके बाद वाले वर्शन का इस्तेमाल किया जा रहा हो.