Manifest: Web'den Erişilebilir Kaynaklar

bir web sayfasının bağlamını düşünün. Bu yollar, paket köküne bağlıdır ve joker karakterler içerebilir. Örneğin, örneğin, bazı özel URL'ler oluşturmak amacıyla içerik komut dosyası ekleyen bir uzantı example.com arayüzünün, arayüzün gerektirdiği tüm kaynaklara (resimler, simgeler, stil sayfalarını, komut dosyalarını vb.) kaldırın:

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

Bu kaynaklar, URL aracılığıyla bir web sayfasında kullanılabilir olacaktır chrome-extension://[PACKAGE ID]/[PATH]; extension.getURL ile oluşturulabilir. yöntemidir. İzin verilenler listesindeki kaynaklar uygun CORS başlıklarıyla sunulur. Böylece kullanılabilirler XHR gibi mekanizmalar üzerinde çalışıyor.

Bir web kaynağından uzantı kaynağına gezinme, kaynak yalnızca web'den erişilebilir olarak listelenir. Şu köşede yer alan durumlara dikkat edin:

  • Bir uzantı, herkese açık bir alanı yönlendirmek için webRequest veya declarativeWebRequest API'lerini kullandığında web erişimi olmayan bir kaynağa yapılan kaynak istekleri de engellenir.
  • Web'e erişilemeyen kaynak, yönlendirme yapan kullanıcıya ait olsa bile yukarıdaki kural geçerlidir. uzantısına sahip olur.

İçerik komut dosyalarının izin verilenler listesine eklenmiş olması gerekmez.

Manifest sürümü 2'den önce, bir uzantı içindeki tüm kaynaklara yardımcı olur. Bu izin, kötü amaçlı bir web sitesinin kullanıcının yüklediği uzantıların parmak izi almasına izin verdi veya yüklü uzantılardaki güvenlik açıklarından (örneğin XSS hataları) yararlanabilir. Sınırlayıcı yalnızca açık bir şekilde web'den erişilebilir olması amaçlanan kaynakların kullanılabilirlik durumunu mevcut saldırı yüzeyini en aza indirir ve kullanıcıların gizliliğini korur.

Varsayılan Kullanılabilirlik

manifest_version 2 veya sonraki bir sürümü kullanan paketlerdeki kaynaklar varsayılan olarak engellenir. ve bu mülk aracılığıyla kullanım için izin verilenler listesine eklenmiş olmalıdır.

Paketlerdeki manifest_version 1 kullanan kaynaklar varsayılan olarak kullanılabilir ancak yaptığınızda özelliğini ayarlarsanız izin verilenler listesindeki tüm kaynakların tam listesi olarak değerlendirilir. Listelenmeyen kaynaklar engellenir.