Skip to main content
Tous les termes Glossary

Attribut Sandbox pour les iframes

Definition

L'attribut sandbox est un attribut HTML pour les iframes qui applique au document intégré des restrictions imposées par le navigateur, en bloquant l'exécution de scripts, l'envoi de formulaires, les fenêtres contextuelles et la navigation de premier niveau tant que vous ne réaccordez pas chaque capacité avec un jeton comme allow-scripts. C'est aussi ce que signale un avertissement 'iframe sandbox detected' émis par un scanner de sécurité ou un lecteur vidéo : l'iframe s'exécute sous restrictions sandbox.

Ce que signifie 'iframe sandbox detected'

Un message 'iframe sandbox detected' apparaît lorsqu'une extension de sécurité du navigateur, un scanner de site ou un lecteur vidéo intégré signale que l'iframe dans laquelle il s'exécute a une ou plusieurs restrictions sandbox actives. Ces messages sont informatifs, pas des erreurs : ils indiquent que la page hôte a appliqué l'attribut sandbox HTML à l'iframe, ce qui limite ce que le contenu embarqué peut faire. Les déclencheurs courants incluent des scanners de sécurité vérifiant les iframes trop permissives et des lecteurs multimédias (YouTube, Vimeo, Dailymotion) qui ont besoin d'allow-scripts, et généralement d'allow-same-origin, pour démarrer. La lecture automatique et le plein écran ne sont pas des jetons sandbox : une iframe les reçoit via l'attribut allow, qui relève de Permissions Policy. Le message lui-même n'est pas une menace ; c'est un signal indiquant que les restrictions sandbox sont en place et doivent être vérifiées par rapport aux besoins de l'embed.

Ce que fait l'attribut sandbox d'une iframe

L'attribut sandbox est une liste de jetons que vous ajoutez à une iframe pour retirer au document embarqué ses capacités par défaut, puis ne réaccorder que celles que vous choisissez. Un sandbox vide applique le jeu de restrictions maximal : le contenu encadré s'exécute dans une origine opaque unique, ne peut pas exécuter de scripts, ne peut pas soumettre de formulaires, ne peut pas ouvrir de pop-ups, ne peut pas naviguer la page de premier niveau et ne peut pas utiliser de plugins. Vous l'assouplissez sélectivement à l'aide de drapeaux tels que allow-scripts, allow-forms, allow-same-origin et allow-popups. Chaque mot-clé réactive une capacité, de sorte que l'iframe reçoit le moindre privilège dont la fonctionnalité a réellement besoin. Il est défini dans le standard HTML et appliqué par le navigateur lui-même.

Pourquoi l'attribut sandbox compte pour la sécurité

Embarquer du contenu tiers ou fourni par l'utilisateur sans isolement permet à ce contenu de scripter la page hôte, de lire les cookies, de soumettre des formulaires ou de détourner la navigation. L'attribut sandbox réduit le rayon d'impact lorsque le balisage embarqué n'est pas de confiance, par exemple une publicité, un aperçu de texte enrichi ou un widget. Une subtilité essentielle est que combiner allow-scripts avec allow-same-origin annule une grande partie de la protection : l'iframe peut alors atteindre sa propre origine de diffusion, et si cette origine correspond à celle de l'intégrateur, elle peut supprimer son propre sandbox en réécrivant l'iframe. Le sandboxing est un contrôle de confinement, pas un contrôle d'inspection de contenu : il limite ce que peut faire un balisage compromis, mais ne vous dit pas si ce balisage a été altéré.

Appliquer l'attribut sandbox en toute sécurité

Accordez l'ensemble le plus restreint de drapeaux dont la fonctionnalité embarquée a besoin, et n'associez jamais allow-scripts à allow-same-origin pour du contenu auquel vous ne faites pas entièrement confiance. Diffusez les embeds non fiables depuis une origine distincte et sans cookies afin qu'une iframe à origine opaque ne puisse pas atteindre de véritables données de session. Associez l'attribut à une Content Security Policy et à des contrôles de framing pour que les défenses ne dépendent pas d'un seul drapeau. Le sandboxing régit les iframes que vous rédigez ; il ne fait rien contre le comportement des nombreux scripts first-party et third-party qui se chargent directement sur vos propres pages. cside comble cette lacune en analysant ces scripts dans des sessions de visiteurs réels, en détectant les comportements malveillants en temps réel et en conservant une trace forensique.

Définition

Que signifie 'iframe sandbox detected' ?

Cela signifie qu'une extension de navigateur, un scanner de sécurité ou un lecteur multimédia a détecté que l'iframe dans laquelle il est embarqué porte l'attribut sandbox HTML. L'attribut limite ce que l'iframe peut faire : exécuter des scripts, soumettre des formulaires, ouvrir des pop-ups, faire naviguer la page de premier niveau. La détection elle-même n'est pas une attaque ; c'est la confirmation que le sandboxing est actif. Que ce soit le comportement souhaité dépend du fait que l'embed a besoin des capacités bloquées pour fonctionner.

Définition

Pourquoi les lecteurs vidéo demandent-ils de supprimer les attributs sandbox sur l'iframe ?

La plupart des embeds vidéo (YouTube, Vimeo, Dailymotion) ont besoin d'allow-scripts pour exécuter leur lecteur, généralement d'allow-same-origin pour que le lecteur accède à son propre stockage, et souvent d'allow-popups pour les liens de partage et de visionnage ultérieur. Un sandbox vide sans aucun de ces jetons empêche le lecteur d'exécuter le moindre JavaScript : il échoue silencieusement ou affiche l'avertissement 'sandbox detected'. La lecture automatique et le plein écran relèvent d'un autre mécanisme : ils sont délégués par l'attribut allow de l'iframe, par exemple allow="autoplay; fullscreen; picture-in-picture", qui est du Permissions Policy et non du sandbox. La solution est d'ajouter exactement les jetons documentés par le lecteur plutôt que de retirer sandbox, car c'est aussi sandbox qui empêche un lecteur d'une autre origine de soumettre des formulaires, d'ouvrir des pop-ups ou de faire naviguer votre page de premier niveau.

Définition

Est-il sûr de supprimer les attributs sandbox d'une iframe ?

Le supprimer lève les restrictions que le navigateur impose à cette iframe : le document embarqué peut alors exécuter des scripts, soumettre des formulaires, ouvrir des pop-ups, utiliser des plugins et faire naviguer votre page de premier niveau ailleurs. Cela ne donne pas à un embed d'une autre origine l'accès à vos cookies ni à votre DOM : la politique de même origine l'interdit déjà, que sandbox soit présent ou non. Le cas qui compte vraiment est une iframe de même origine portant à la fois allow-scripts et allow-same-origin, car le document embarqué peut alors atteindre la page parente et supprimer son propre attribut sandbox. Conservez sandbox, n'ajoutez que les jetons spécifiques documentés par l'embed, et servez les embeds non fiables depuis une origine distincte et sans cookies dans la mesure du possible.

Définition

L'attribut sandbox remplace-t-il une Content Security Policy ?

Non. L'attribut sandbox restreint ce qu'une iframe embarquée peut faire, tandis qu'une Content Security Policy régit ce que la page entière peut charger et exécuter. Ils couvrent des périmètres différents et fonctionnent mieux ensemble : le sandbox contient un embed non fiable, et la CSP restreint les scripts, les connexions et le framing sur l'ensemble du document.

Définition

Pourquoi allow-scripts associé à allow-same-origin est-il considéré comme dangereux ?

Ensemble, ils permettent au document encadré d'exécuter des scripts ayant accès à sa véritable origine. Si cette origine est celle de l'intégrateur, l'iframe peut lire les mêmes données et même réécrire son propre balisage pour supprimer l'attribut sandbox, échappant ainsi aux restrictions que vous vouliez imposer.

Got more questions

Talk to a security expert

We answer client-side security questions every day. Bring yours.

Réserver une démonstration

Envie de passer tout ça en revue avec un ingénieur ?

Trente minutes, sur votre propre site. Pas de slides.

Réservez une démo personnalisée pour voir :

Comment atteindre la conformité PCI DSS 6.4.3 et 11.6.1 en 1 jour
Pourquoi les scripts tiers représentent un risque de sécurité pour vous et vos visiteurs
Comment surveiller les fuites de confidentialité et de consentement (RGPD, CCPA) sur chaque tiers
Comment stopper l'abus d'inscriptions, le partage de comptes et la fraude aux rétrofacturations grâce au device intelligence
Comment détecter et contrôler les agents IA et les bots qui atteignent votre site en temps réel

Vous préférez simplement poser une question ?

Utilisez cette même adresse pour réserver avec Google. Google peut vous demander de la saisir à nouveau.

Nous utilisons votre adresse pour relier votre réservation à votre visite et mesurer comment vous nous trouvez. Ceci ne vous inscrit pas à notre newsletter.

Un problème pour réserver ? Ouvrir le calendrier dans un nouvel onglet

Quel problème cherchez-vous à résoudre ?

Dites-le-nous en une ligne et nous reviendrons vers vous avec quelque chose d'utile, pas un discours générique.

Nous aidons souvent sur :

Voir quels scripts tiers s'exécutent sur votre site
Les preuves pour PCI DSS 6.4.3 et 11.6.1
Les bots, les agents IA et le vol de comptes

Vous préférez réserver un créneau ? Choisir un créneau