Attribut sandbox d'iframe
Qu'est-ce que Attribut sandbox d'iframe ?
Attribut sandbox d'iframeAttribut HTML qui applique des restrictions supplémentaires au contenu d'un iframe, bloquant scripts, formulaires, navigation et accès same-origin sauf réactivation explicite.
L'attribut sandbox sur un <iframe>, défini dans le HTML Living Standard, applique une politique de moindre privilège au contenu embarqué. Avec une valeur vide (sandbox=""), il désactive scripts, plugins, envoi de formulaires, navigation top-level et same-origin, popups, pointer-lock, lecture automatique, ainsi que les API Pointer Lock et Presentation, et force le cadre dans une origine opaque unique de sorte qu'il ne puisse lire ni les cookies, ni le localStorage, ni le DOM du parent. Les capacités se réaccordent une à une, jeton par jeton — allow-scripts, allow-same-origin, allow-forms, allow-popups, allow-modals, allow-downloads, allow-top-navigation-by-user-activation.
Le piège critique : combiner allow-scripts allow-same-origin ramène le cadre à sa véritable origine et lui permet d'exécuter du JavaScript, si bien que le code en sandbox peut simplement atteindre son propre DOM et retirer l'attribut sandbox d'un cadre imbriqué — annulant la protection. Pour héberger du contenu véritablement non fiable, isolez-le sur une origine distincte et associez le sandbox à Content-Security-Policy: sandbox (qui ne peut être retiré par le balisage) ainsi qu'aux politiques Cross-Origin-Opener/Embedder. Le sandboxing sous-tend le rendu sûr des publicités, des prévisualisations de texte enrichi et des widgets tiers ; le Caja de Google et des services modernes comme CodePen et JSFiddle s'appuient sur des cadres en sandbox sur des origines jetables pour exécuter du code contrôlé par l'attaquant sans mettre en danger la page hôte.
flowchart TD
A[Page parente] --> B["<iframe sandbox><br/>embarque du contenu non fiable"]
B --> C{Quels jetons sont définis ?}
C -->|"sandbox="" (vide)"| D[Origine opaque, pas de scripts,<br/>pas de formulaires, pas de navigation]
C -->|allow-scripts seul| E[Scripts exécutés, toujours<br/>origine opaque - sûr]
C -->|"allow-scripts +<br/>allow-same-origin"| F[Origine réelle + scripts :<br/>le cadre peut retirer son propre<br/>sandbox = évasion]
E --> G[Ajouter l'en-tête CSP: sandbox<br/>origine distincte = défense en profondeur]● Exemples
- 01
<iframe src="/preview" sandbox="allow-scripts"></iframe> pour rendre du HTML non fiable en toute sécurité.
- 02
Embarquer un widget tiers avec sandbox="" pour refuser toute capacité.
● Questions fréquentes
Qu'est-ce que Attribut sandbox d'iframe ?
Attribut HTML qui applique des restrictions supplémentaires au contenu d'un iframe, bloquant scripts, formulaires, navigation et accès same-origin sauf réactivation explicite. Cette notion relève de la catégorie Sécurité applicative en cybersécurité.
Que signifie Attribut sandbox d'iframe ?
Attribut HTML qui applique des restrictions supplémentaires au contenu d'un iframe, bloquant scripts, formulaires, navigation et accès same-origin sauf réactivation explicite.
Comment se défendre contre Attribut sandbox d'iframe ?
Les défenses contre Attribut sandbox d'iframe combinent habituellement des contrôles techniques et des pratiques opérationnelles, comme détaillé dans la définition ci-dessus.