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

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