Nouveaux attributs HTML5 de l'élément IFRAME

Trois nouveaux attributs améliorent la sécurité de cet élément HTML polyvalent

Logo HTML5 à l

DavidMartynHunt / Flickr / CCBY





La iframe L'élément intègre d'autres pages Web directement dans la page actuelle.HTML5introduit trois nouveaux attributs à cet élément pour aider à résoudre les problèmes de sécurité et de convivialité du HTML4 iframe la mise en oeuvre.

L'attribut 'sandbox'

La bac à sable attribut de la iframe L'élément est une fonctionnalité de sécurité utile pour les iframes. Lorsque vous le placez dans un iframe élément, l'agent utilisateur interdit les fonctionnalités qui pourraient présenter un risque de sécurité pour le site et ses utilisateurs.



Par exemple:

|__+_|

demande au navigateur d'interdire toutes les fonctionnalités qui pourraient présenter un risque pour la sécurité - donc pas de plugins, de formulaires, de scripts, de liens sortants, biscuits , le stockage local et l'accès aux pages du même site.



Ensuite, en utilisant le bac à sable valeurs de mots-clés, réactivez certaines des fonctionnalités. Ces mots-clés sont :

    formulaires d'autorisation: Autoriser la soumission de formulaire.autoriser la même origine: Autoriser les scripts à accéder au contenu comme les cookies du même domaine d'origine.autorisation-scripts : Autoriser l'exécution des scripts dans cet IFRAME.autoriser la navigation supérieure: Autoriser les liens iframe et les scripts vers la cible '_top'

Ne définissez pas les deux autorisation-scripts et autoriser la même origine mots-clés ensemble sur le même iframe . Si vous le faites, la page intégrée peut alors supprimer le bac à sable attribut, annulant ses avantages en matière de sécurité.

L'attribut 'srcdoc'

La srcdoc L'attribut donne au concepteur Web plus de contrôle sur les iframes ainsi que plus de sécurité. Au lieu de créer un lien vers une page Web à un autre URL , le concepteur Web place le code HTML à afficher dans un iframe à l'intérieur de srcdoc attribut.

En plaçant le code HTML créé par une source non fiable, comme un formulaire, dans un iframe vous pouvez mettre en bac à sable le contenu non fiable et toujours l'afficher sur la page. Les commentaires de blog en sont un exemple. La plupart des blogs ne proposent qu'un nombre limité de balises HTML que les commentateurs peuvent utiliser dans leurs commentaires. Mais en plaçant ces commentaires dans un bac à sable iframe en utilisant le srcdoc attribut, les commentaires peuvent être plus robustes tout en protégeant le site dans son ensemble.



Sécurité et Iframe

Les deux attributs ci-dessus assurent la sécurité de votre iframe éléments, mais ils ne sont pas une défense contre tous les sites malveillants. Si le site malveillant peut convaincre les visiteurs de votre site d'accéder directement au contenu hostile (par exemple en tapant l'URL dans leur navigateur), ils peuvent toujours être attaqués.

Si vous le pouvez, définissez le contenu qui se trouve dans le bac à sable iframe comme le texte/html-sandbox Type MIME.



L'attribut 'sans couture'

La transparent est un attribut booléen qui indique au navigateur d'afficher le iframe comme s'il faisait partie du document parent. Si vous voulez votre iframe pour un affichage transparent, incluez simplement cet attribut dans l'élément :

|__+_|

Mais faire le iframe Seamless est plus que l'apparence, c'est aussi la façon dont la page interagit avec le cadre. Quelques conseils:



  • Liens dans le iframe s'ouvrira dans la fenêtre parente à moins que le iframe la page a la cible '_SELF' définie.
  • CSS dans le iframe seront ajoutés à la cascade du document entier.
  • L'élément racine de la iframe la page est considérée comme un enfant de la iframe .
  • La largeur et la hauteur du iframe sont définis de la même manière que autres éléments de niveau bloc serait fixé.
  • Lorsque le document parent est visualisé par un outil de rendu vocal tel qu'un lecteur d'écran, le iframe serait lu sans l'annoncer comme un document séparé.

Tout script sur le document parent affecterait le iframe documenter de la même manière. Par exemple, si un script répertorie tous les cadres de la page, les liens du iframe seraient également répertoriés.

En d'autres termes, le transparent L'attribut fait bien plus que simplement supprimer les bordures du iframe . Si vous comptez définir un iframe pour être transparent, vous devez être très sûr du contenu afin de ne pas ajouter de risque de sécurité à votre site Web en intégrant un site malveillant.