Sandbox

Internet Explorer 10 et les applications du Windows Store en JavaScript prennent en charge l’attribut sandbox. L’attribut sandbox permet d’appliquer des restrictions de sécurité pour les éléments iframe à contenu non approuvé. Ces restrictions renforcent la sécurité en empêchant le contenu non approuvé d’effectuer des actions pouvant entraîner un comportement potentiellement malveillant.

L’attribut sandbox est spécifié dans la section 4.8.2 de la spécification HTML5 du World Wide Web Consortium (W3C).

Activation de l’attribut sandbox

Pour activer ces restrictions, spécifiez l’attribut sandbox, tel que l’illustre l’exemple de code suivant.


<iframe sandbox src="frame1.html"></iframe>

Lorsque l’attribut sandbox est spécifié pour un élément iframe, le contenu de l’élément iframe est considéré comme étant en mode Bac à sable (sandbox).

Comportement restreint par l’attribut sandbox

Quand les éléments iframe sont en mode Bac à sable (sandbox), les actions suivantes sont restreintes :

  • Le contenu en mode Bac à sable (sandbox) ne peut pas ouvrir des fenêtres contextuelles ni de nouvelles fenêtres de navigateur. Les méthodes qui ouvrent des fenêtres contextuelles (telles que createPopup(), showModalDialog(), showModelessDialog(), et window.open()) échouent silencieusement.
  • Les liens ne peuvent pas s’ouvrir dans de nouvelles fenêtres.
  • Le contenu en mode Bac à sable est considéré comme provenant d’un domaine unique, ce qui empêche l’accès aux API qui sont protégées par la stratégie de la même origine (comprenant des cookies, le stockage local et le DOM [Document Object Model] d’autres documents).
  • Le contenu en mode Bac à sable ne peut pas déplacer la fenêtre supérieure.
  • Le contenu en mode Bac à sable ne peut pas transmettre des données de formulaire.
  • Les plugins (object, applet, embed et frame) ne peuvent pas être instanciés.
  • Le comportement d’élément automatique est désactivé, notamment l’actualisation de l’élément meta, autofocus pour les contrôles input et autoplay pour les éléments audio et video.
  • Les fonctionnalités sélectionnées propres à Windows Internet Explorer sont désactivées pour le contenu en mode Bac à sable, notamment les composants HTML (HTC), les comportements binaires, la liaison de données et window.external.

Personnalisation des restrictions de l’attribut sandbox

Internet Explorer 10 et les applications du Windows Store en JavaScript vous permettent de personnaliser les restrictions sandbox sélectionnées. Pour cela, spécifiez un ou plusieurs des indicateurs suivants comme valeur de l’attribut sandbox.

IndicateurDescription

allow-scripts

Le contenu en mode Bac à sable est autorisé à exécuter JavaScript.

allow-forms

Le contenu en mode Bac à sable peut transmettre des formulaires.

allow-same-origin

Le contenu en mode Bac à sable peut accéder aux API protégées par la stratégie de même origine, comprenant le stockage local, les cookies, XMLHttpRequest et les documents hébergés sur le même domaine.

allow-top-navigation

Le contenu en mode Bac à sable est autorisé à changer l’emplacement de la fenêtre supérieure.

allow-popups

Le contenu en mode Bac à sable est autorisé à ouvrir des fenêtres contextuelles.

Remarque  Les versions préliminaires d’Internet Explorer 10 prenaient en charge cette valeur en utilisant un préfixe de fournisseur. Les applications qui utilisent un préfixe de fournisseur pour cette valeur doivent être mises à jour pour garantir la compatibilité et la conformité aux normes futures.

 

L’exemple suivant montre un élément iframe en mode Bac à sable qui utilise les indicateurs de personnalisation afin de personnaliser les restrictions pour son contenu.


<iframe sandbox="allow-forms allow-same-origin" src="frame1.html"></iframe>

Cet exemple autorise l’envoi de données et l’accès aux sources de données locales. Notez que les indicateurs de personnalisation, lorsqu’ils sont plusieurs, doivent être séparés par des espaces.

Pour obtenir une démonstration pratique de Sandbox HTML5 en action, consultez Defense in Depth: HTML5 Sandbox sur le site IE Test Drive.

Informations de référence sur les API

sandbox

Démonstrations du site Internet Explorer Test Drive

Defense in Depth: HTML5 Sandbox

Billets IEBlog

Défense renforcée : verrouillage de contenu composite avec le mode Sandbox HTML5

Spécification

HTML5: Sections 4.8.2, 5.4

Rubriques connexes

Comment protéger votre site avec le mode Sandbox HTML5

 

 

Afficher:
© 2014 Microsoft