Manifest – Im Web zugängliche Ressourcen

Ein Array von Strings, das die Pfade der gepackten Ressourcen angibt, die im Kontext einer Webseite verwendet werden sollen. Diese Pfade beziehen sich auf das Stammverzeichnis des Pakets und können Platzhalter enthalten. Beispiel: Eine Erweiterung, die ein Inhaltsskript einfügt, um eine benutzerdefinierte Schnittstelle für example.com zu erstellen, erlaubt alle Ressourcen, die für die Schnittstelle benötigt werden (Bilder, Symbole, Stylesheets, Skripts usw.):

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

Diese Ressourcen sind dann auf einer Webseite über die URL chrome-extension://[PACKAGE ID]/[PATH] verfügbar, die mit der Methode extension.getURL generiert werden kann. Ressourcen auf der Zulassungsliste werden mit entsprechenden CORS-Headern bereitgestellt, damit sie über Mechanismen wie XHR verfügbar sind.

Die Navigation von einer Webursprung zu einer Erweiterungsressource wird blockiert, sofern die Ressource nicht als über das Web zugänglich aufgeführt wird. Beachten Sie die folgenden Sonderfälle:

  • Wenn eine Erweiterung die API webRequest oder declarativeWebRequest verwendet, um eine Anfrage einer öffentlichen Ressource an eine Ressource weiterzuleiten, die nicht über das Internet zugänglich ist, wird eine solche Anfrage ebenfalls blockiert.
  • Dies gilt auch dann, wenn die Ressource, die nicht über das Internet zugänglich ist, der Weiterleitungserweiterung gehört.

Die Content-Skripts selbst müssen nicht auf die Zulassungsliste gesetzt werden.

Vor Manifestversion 2 konnte von jeder Seite im Web auf alle Ressourcen innerhalb einer Erweiterung zugegriffen werden. Dadurch konnte eine schädliche Website die von einem Nutzer installierten Erweiterungen per Fingerabdruck speichern oder Sicherheitslücken (z. B. XSS-Fehler) innerhalb der installierten Erweiterungen ausnutzen. Die Beschränkung der Verfügbarkeit auf Ressourcen, die explizit über das Internet zugänglich sein sollen, trägt dazu bei, die verfügbare Angriffsfläche zu minimieren und die Privatsphäre der Nutzer zu schützen.

Standardverfügbarkeit

Ressourcen innerhalb von Paketen, die manifest_version 2 oder höher verwenden, sind standardmäßig blockiert und müssen für die Verwendung über dieses Attribut auf die Zulassungsliste gesetzt werden.

Ressourcen innerhalb von Paketen, die manifest_version 1 verwenden, sind standardmäßig verfügbar. if Sie dieses Attribut jedoch festlegen, werden sie als vollständige Liste aller Ressourcen auf der Zulassungsliste behandelt. Ressourcen, die nicht aufgeführt sind, werden blockiert.