Manifest - Korumalı Alan

Uyarı: Chrome, 57. sürümden itibaren korumalı alana alınmış sayfaların içinde harici web içeriğine (yerleştirilmiş çerçeveler ve komut dosyaları dahil) izin vermeyecek. Lütfen bunun yerine webview kullanın.

Bir sandbox'ta benzersiz bir kaynakta sunulacak uygulama veya uzantı sayfaları koleksiyonunu ve isteğe bağlı olarak bunlarla kullanılacak bir İçerik Güvenliği Politikası'nı tanımlar. Bir sanal ortamda bulunmanın iki sonucu vardır:

  1. Yalıtılmış bir sayfa, uzantı veya uygulama API'lerine erişemez ya da yalıtılmamış sayfalara doğrudan erişemez (postMessage() aracılığıyla bu sayfalarla iletişim kurabilir).
  2. Bir korumalı alan sayfası, uygulamanın veya uzantının geri kalanında kullanılan İçerik Güvenliği Politikası'na (CSP) tabi değildir (kendi ayrı CSP değerine sahiptir). Bu, örneğin satır içi komut dosyası ve eval kullanabileceği anlamına gelir.

    Örneğin, özel bir İGP'ye sahip sandbox'ta iki uzantı sayfasının yayınlanacağını nasıl belirteceğiniz aşağıda açıklanmıştır:

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

    Belirtilmezse varsayılan content_security_policy değeri sandbox allow-scripts allow-forms allow-popups allow-modals; script-src 'self' 'unsafe-inline' 'unsafe-eval'; child-src 'self'; olur. Özel korumalı alanı daha da kısıtlamak için CSP değerinizi belirtebilirsiniz ancak bu değerde sandbox yönergesi bulunmalı ve allow-same-origin jetonu bulunmamalıdır (Olası özel korumalı alan jetonları için HTML5 spesifikasyonuna bakın). Ayrıca, belirttiğiniz İGP, korumalı alana alınmış sayfalarda harici web içeriğinin yüklenmesine izin vermeyebilir.

Yalnızca pencerelere veya çerçevelere yüklenmesini beklediğiniz sayfaları listelemeniz gerektiğini unutmayın. Koruma alanına alınmış sayfalar tarafından kullanılan kaynakların (ör.stil sayfaları veya JavaScript kaynak dosyaları) sandboxed_page listesinde görünmesi gerekmez. Bu kaynaklar, kendilerini yerleştiren sayfanın koruma alanını kullanır.

"Using eval in Chrome Extensions. Güvenli bir şekilde." başlıklı makalede, aksi takdirde uzantının varsayılan İçerik Güvenliği Politikası kapsamında yürütülürken sorun yaşayacak kitaplıkların kullanılmasına olanak tanıyan bir korumalı alan iş akışının uygulanması hakkında daha ayrıntılı bilgi verilmektedir.

Koruma alanına alınmış sayfa yalnızca manifest_version 2 veya üzeri kullanılırken belirtilebilir.