Avertissement:À partir de la version 57, Chrome n'autorisera plus le contenu Web externe (y compris les frames et scripts intégrés) dans les pages en bac à sable. Veuillez utiliser une vue Web à la place.
Définit une collection de pages d'application ou d'extension à diffuser dans une origine unique en bac à sable, et éventuellement une règle de sécurité du contenu à utiliser avec elles. Le fait d'être dans un bac à sable a deux conséquences:
- Une page placée dans un bac à sable n'a pas accès aux API d'extension ou d'application, ni à un accès direct aux pages non placées dans un bac à sable (elle peut communiquer avec elles via
postMessage()
). Une page en bac à sable n'est pas soumise à la Content Security Policy (CSP) utilisée par le reste de l'application ou de l'extension (elle possède sa propre valeur CSP distincte). Cela signifie, par exemple, qu'il peut utiliser le script intégré et
eval
.Par exemple, voici comment spécifier que deux pages d'extension doivent être diffusées dans un bac à sable avec un CSP personnalisé:
{ ... "sandbox": { "pages": [ "page1.html", "directory/page2.html" ] // content_security_policy is optional. "content_security_policy": "sandbox allow-scripts; script-src 'self'" ], ... }
Si aucune valeur n'est spécifiée, la valeur par défaut de
content_security_policy
estsandbox allow-scripts allow-forms allow-popups allow-modals; script-src 'self' 'unsafe-inline' 'unsafe-eval'; child-src 'self';
. Vous pouvez spécifier votre valeur CSP pour restreindre davantage le bac à sable, mais il doit contenir la directivesandbox
et ne pas contenir le jetonallow-same-origin
(voir la spécification HTML5 pour connaître les jetons de bac à sable possibles). De plus, le CSP que vous spécifiez peut ne pas autoriser le chargement de contenu Web externe dans des pages en bac à sable.
Notez que vous n'avez besoin de lister que les pages que vous vous attendiez à charger dans des fenêtres ou des cadres. Les ressources utilisées par les pages en bac à sable (par exemple, les feuilles de style ou les fichiers sources JavaScript) n'ont pas besoin d'apparaître dans la liste sandboxed_page
. Elles utiliseront le bac à sable de la page qui les intègre.
"Utilisation d'évaluation dans les extensions Chrome. de manière sécurisée" explique plus en détail l'implémentation d'un workflow de bac à sable qui permet d'utiliser des bibliothèques qui auraient autrement des problèmes d'exécution sous le Règlement relatif à la sécurité du contenu par défaut de l'extension.
La page en bac à sable ne peut être spécifiée que lorsque vous utilisez manifest_version
2 ou une version ultérieure.