Plik manifestu – zasoby dostępne w internecie

Tablica ciągów tekstowych określająca ścieżki spakowanych zasobów, których powinny używać kontekst strony internetowej. Te ścieżki są zależne od katalogu głównego pakietu i mogą zawierać symbole wieloznaczne. Dla: Na przykład rozszerzenie dodające skrypt treści w celu utworzenia interfejs example.com umożliwiłby dostęp do wszystkich zasobów wymaganych przez interfejs (obrazów, ikon, arkusze stylów, skrypty itp.) w następujący sposób:

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

Zasoby te byłyby dostępne na stronie internetowej pod adresem URL chrome-extension://[PACKAGE ID]/[PATH], który można wygenerować przy użyciu extension.getURL . Zasoby umieszczone na liście dozwolonych są udostępniane przy użyciu odpowiednich nagłówków CORS, dzięki czemu są dostępne za pomocą mechanizmów takich jak XHR.

Przechodzenie ze źródła stron internetowych do zasobu rozszerzenia zostanie zablokowane, chyba że zasób które są dostępne w internecie. Zwróć uwagę na te narożniki:

  • Gdy rozszerzenie używa interfejsów API webRequest lub declarativeWebRequest, aby przekierowywać widzów publicznych żądania zasobu do zasobu, który nie jest dostępny w internecie, takie żądanie również jest blokowane.
  • Powyższe warunki obowiązują nawet wtedy, gdy zasób, który nie jest dostępny w internecie, należy do przekierowania .

Same skrypty treści nie muszą być umieszczone na liście dozwolonych.

Przed wersją 2 manifestu wszystkie zasoby rozszerzenia były dostępne z dowolnej strony sieci. Pozwoliło to złośliwej witrynie odcisnąć odcisk zainstalowane przez użytkownika rozszerzenia lub wykorzystywać luki w zabezpieczeniach (np. błędy XSS) w zainstalowanych rozszerzeniach. Ograniczenie dostępność tylko do zasobów, które są wyraźnie przeznaczone do tego celu, służy zarówno zminimalizować dostępną powierzchnię ataku i chronić prywatność użytkowników.

Domyślna dostępność

Zasoby w pakietach korzystających z wersji manifest_version 2 lub nowszej są domyślnie zablokowane. i muszą znajdować się na liście dozwolonych w przypadku tej usługi.

Zasoby w pakietach, w których używa się funkcji manifest_version 1, są domyślnie dostępne, ale jeśli tak jest. ustaw tę właściwość, zostanie ona uznana za kompletną listę wszystkich zasobów z listy dozwolonych. Zasoby, których nie ma na liście, zostaną zablokowane.