Manifest: Web'den Erişilebilir Kaynaklar

Bir web sayfası bağlamında kullanılabilir olması beklenen paketlenmiş kaynakların yollarını belirten bir dize dizisi. Bu yollar paket köküne göre değişir ve joker karakterler içerebilir. Örneğin, example.com için özel arayüz oluşturmak amacıyla içerik komut dosyası yerleştiren bir uzantı, arayüzün gerektirdiği tüm kaynaklara (resimler, simgeler, stil sayfaları, komut dosyaları vb.) aşağıdaki gibi izin verir:

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

Böylece bu kaynaklar, extension.getURL yöntemi ile oluşturulabilir ve chrome-extension://[PACKAGE ID]/[PATH] URL'si aracılığıyla bir web sayfasında kullanılabilir. İzin verilenler listesindeki kaynaklar, uygun CORS başlıklarıyla yayınlandığından XHR gibi mekanizmalar aracılığıyla kullanılabilir.

Bir web kaynağından uzantı kaynağına gitme, kaynak web erişilebilir olarak listelenmediği sürece engellenir. Aşağıdaki köşe örneklerine dikkat edin:

  • Bir uzantı, herkese açık kaynak isteğini web erişilebilir olmayan bir kaynağa yönlendirmek için webRequest veya declarativeWebRequest API'lerini kullandığında bu tür istek de engellenir.
  • Yukarıdaki kural, web'e erişilemeyen kaynağın sahibi yönlendirme uzantısı olsa bile geçerlidir.

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

Manifest sürümü 2'den önce, uzantı içindeki tüm kaynaklara web'deki herhangi bir sayfadan erişilebilir. Bu, kötü amaçlı bir web sitesinin, kullanıcının yüklediği uzantıların parmak izini almasına veya yüklü uzantılardaki güvenlik açıklarından (ör. XSS hataları) yararlanmasına olanak tanıyordu. Kullanılabilirliği yalnızca web'e erişilebilir olması açıkça amaçlanan kaynaklarla sınırlandırmak, hem kullanılabilir saldırı yüzeyini en aza indirmeye hem de kullanıcıların gizliliğini korumaya yardımcı olur.

Varsayılan Kullanılabilirlik

manifest_version 2 veya sonraki bir sürümü kullanan paketlerin içindeki kaynaklar varsayılan olarak engellenir ve bu özellik aracılığıyla kullanılmak üzere izin verilenler listesine eklenmeleri gerekir.

manifest_version 1 kullanan paketlerin içindeki kaynaklar varsayılan olarak kullanılabilir ancak if ayarlarsanız izin verilenler listesine eklenmiş tüm kaynakların tam listesi olarak işlem görür. Listede olmayan kaynaklar engellenir.