Avertissement : À partir de la version 57, Chrome n'autorisera plus le contenu Web externe (y compris les cadres et les scripts intégrés) dans les pages en bac à sable. Veuillez utiliser une vue Web à la place.
Définit un ensemble de pages d'applications ou d'extensions à diffuser dans une origine unique en bac à sable. et éventuellement Content Security Policy à utiliser. 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 des l'application ou l'extension (elle possède sa propre valeur CSP) ; Cela signifie, par exemple, qu'il peut Utilisez un 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 une balise CSP personnalisée:
{ ... "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 la valeur la directivesandbox
et peut ne pas contenir le jetonallow-same-origin
(consultez la page HTML5 spécification des éventuels jetons de bac à sable). De plus, il se peut que le fournisseur de services cloud que vous spécifiez n'autorise pas le chargement contenu Web externe dans des pages en bac à sable.
Notez que vous ne devez lister que les pages que vous prévoyez de charger dans des fenêtres ou des cadres. 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 le
sandboxed_page
, ils utiliseront le bac à sable de la page qui les intègre.
"Using eval in Chrome Extensions. 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 de bac à sable ne peut être spécifiée que lorsque vous utilisez manifest_version
2 ou une version ultérieure.