Manifest - Webtoegankelijke bronnen

Een array van tekenreeksen die de paden specificeren van verpakte bronnen die naar verwachting bruikbaar zijn in de context van een webpagina. Deze paden zijn relatief ten opzichte van de pakketroot en kunnen jokertekens bevatten. Een extensie die bijvoorbeeld een inhoudsscript injecteert met de bedoeling een aangepaste interface op te bouwen, bijvoorbeeld example.com , zou alle bronnen die de interface nodig heeft (afbeeldingen, pictogrammen, stylesheets, scripts, enz.) als volgt toestaan:

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

Deze bronnen zouden dan beschikbaar zijn op een webpagina via de URL chrome-extension://[PACKAGE ID]/[PATH] , die kan worden gegenereerd met de extension.getURL- methode. Bronnen op de toelatingslijst worden geleverd met de juiste CORS- headers, zodat ze beschikbaar zijn via mechanismen zoals XHR.

Een navigatie van een weboorsprong naar een extensiebron wordt geblokkeerd, tenzij de bron als webtoegankelijk wordt vermeld. Let op deze hoekgevallen:

  • Wanneer een extensie de webRequest- of declarativeWebRequest- API's gebruikt om een ​​verzoek om een ​​openbare bron om te leiden naar een bron die niet via internet toegankelijk is, wordt een dergelijk verzoek ook geblokkeerd.
  • Het bovenstaande geldt zelfs als de bron die niet via internet toegankelijk is, eigendom is van de omleidingsextensie.

Inhoudsscripts zelf hoeven niet op de toelatingslijst te worden geplaatst.

Vóór manifestversie 2 waren alle bronnen binnen een extensie toegankelijk vanaf elke pagina op internet. Hierdoor kon een kwaadwillende website vingerafdrukken maken van de extensies die een gebruiker heeft geïnstalleerd of kwetsbaarheden (bijvoorbeeld XSS-bugs ) binnen geïnstalleerde extensies misbruiken. Door de beschikbaarheid te beperken tot alleen bronnen die expliciet bedoeld zijn om via internet toegankelijk te zijn, wordt zowel het beschikbare aanvalsoppervlak geminimaliseerd als de privacy van gebruikers beschermd.

Standaardbeschikbaarheid

Bronnen in pakketten die manifest_version 2 of hoger gebruiken, worden standaard geblokkeerd en moeten via deze eigenschap op de toelatingslijst worden gezet voor gebruik.

Bronnen in pakketten die manifest_version 1 gebruiken, zijn standaard beschikbaar, maar als u deze eigenschap instelt, wordt deze behandeld als een volledige lijst van alle bronnen op de toelatingslijst. Bronnen die niet in de lijst staan, worden geblokkeerd.