Thanks to visit codestin.com
Credit goes to developer.mozilla.org

Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in English Always switch to English

Content-Security-Policy : directive sandbox

Baseline Large disponibilité

Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis novembre 2016.

La directive HTTP Content-Security-Policy (CSP) sandbox active un bac à sable (sandbox en anglais) pour les ressources demandées, similaire à l'attribut sandbox des éléments HTML <iframe>. Elle applique des restrictions aux actions d'une page, dont le fait d'empêcher les fenêtres intrusives (popups en anglais) et l'exécution de greffons et de scripts et de créer une contrainte de même origine.

Version de CSP 1.1 / 2
Type de directive Directive de document
Cette directive n'est pas prise en charge dans l'élément HTML <meta> ou par l'en-tête Content-Security-Policy-Report-Only.

Syntaxe

http
Content-Security-Policy: sandbox;
Content-Security-Policy: sandbox <value>;

<value> peut optionnellement être une valeur parmi :

allow-downloads

Permet de télécharger des fichiers via un élément HTML <a> ou <area> avec l'attribut download, ainsi que par la navigation qui mène au téléchargement d'un fichier. Cela fonctionne indépendamment du fait que l'utilisateur·ice ait cliqué sur le lien ou que le code JS l'ait initié sans interaction de l'utilisateur·ice.

allow-forms

Permet à la page de soumettre des formulaires. Si ce mot-clé n'est pas utilisé, le formulaire sera affiché normalement, mais sa soumission ne déclenchera pas la validation des entrées, l'envoi des données à un serveur web ou la fermeture d'une boîte de dialogue.

allow-modals

Permet à la page d'ouvrir des fenêtres bloquantes avec Window.alert(), Window.confirm(), Window.print() et Window.prompt(), tandis que l'ouverture d'un <dialog> est autorisée indépendamment de ce mot-clé. Cela permet également à la page de recevoir l'évènement BeforeUnloadEvent.

allow-orientation-lock

Permet à la ressource de verrouiller l'orientation de l'écran.

allow-pointer-lock

Permet à la page d'utiliser l'API de verrouillage du pointeur.

allow-popups

Permet les fenêtres intrusives (créées, par exemple, par Window.open() ou target="_blank"). Si ce mot-clé n'est pas utilisé, l'affichage des fenêtres intrusives échouera silencieusement.

allow-popups-to-escape-sandbox

Permet à un document en bac à sable d'ouvrir de nouvelles fenêtres sans lui imposer les restrictions du bac à sable. Cela permettra, par exemple, à une publicité tierce d'être sécurisée dans un bac à sable sans imposer les mêmes restrictions à la page vers laquelle la publicité renvoie.

allow-presentation

Permet aux intégrateurs de contrôler si un cadre intégré peut démarrer une session de présentation.

allow-same-origin

Permet à une ressource en bac à sable de conserver son origine. Une ressource en bac à sable est autrement traitée comme provenant d'une origine opaque, ce qui garantit qu'elle échouera toujours aux vérifications de la politique de même origine, et donc ne pourra pas accéder à localstorage et document.cookie et à certaines API JavaScript. L'en-tête Origin des ressources en bac à sable sans le mot-clé allow-same-origin est null.

allow-scripts

Permet à la page d'exécuter des scripts (mais pas de créer des fenêtres intrusives). Si ce mot-clé n'est pas utilisé, cette opération n'est pas autorisée.

allow-storage-access-by-user-activation

Permet à la ressource de demander l'accès aux capacités de stockage du parent avec l'API d'accès au stockage.

allow-top-navigation

Permet à la ressource de naviguer dans le contexte de navigation de niveau supérieur (celui nommé _top).

allow-top-navigation-by-user-activation

Permet à la ressource de naviguer dans le contexte de navigation de niveau supérieur, mais uniquement si cela est initié par un geste de l'utilisateur·ice.

allow-top-navigation-to-custom-protocols

Permet les navigations vers des protocoles non-http intégrés au navigateur ou enregistrés par un site web. Cette fonctionnalité est également activée par les mots-clés allow-popups ou allow-top-navigation.

Note : Les valeurs allow-top-navigation et les valeurs associées n'ont de sens que pour les documents intégrés (comme les iframes enfants). Pour les documents autonomes, ces valeurs n'ont aucun effet, car le contexte de navigation de niveau supérieur est le document lui-même.

Exemples

http
Content-Security-Policy: sandbox allow-scripts;

Spécifications

Spécification
Content Security Policy Level 3
# directive-sandbox

Compatibilité des navigateurs

Voir aussi