Naar de inhoud
Gratis naslagwerk over HTML
HTML leren en naslaan
Naslag / Attribuut

sandbox HTML attribuut

1 element kent dit attribuut. Klik op een tag voor de volledige uitleg van dat element.

Wat doet het sandbox attribuut?

Legt beperkingen op aan de inhoud van een iframe, zoals het uitschakelen van scripts, formulieren of top-level navigatie. Losse mogelijkheden worden juist weer toegestaan met tokens in de waarde, bijvoorbeeld "allow-scripts allow-same-origin"; een lege sandbox-waarde past alle beperkingen toe.

HTML
<iframe src="https://extern.example/widget" sandbox="allow-scripts allow-same-origin"></iframe>

Welke HTML-elementen kennen sandbox?

<iframe>

Het <iframe>-HTML-element vertegenwoordigt een geneste browsing context, waarmee een andere HTML-pagina in de huidige pagina wordt ingebed.

Bepaalt de beperkingen die worden toegepast op de inhoud die in de <iframe> is ingebed. De waarde van het attribuut kan leeg zijn om alle beperkingen toe te passen, of bestaan uit door spaties gescheiden tokens om bepaalde beperkingen op te heffen:

  • allow-downloads
    • : Staat het downloaden van bestanden toe via een <a>- of <area>-element met het download-attribuut, evenals via de navigatie die leidt tot het downloaden van een bestand. Dit werkt ongeacht of de gebruiker op de link heeft geklikt, of dat JS-code het zonder gebruikersinteractie heeft geïnitieerd.
  • allow-forms
    • : Staat de pagina toe om formulieren te verzenden. Als dit trefwoord niet wordt gebruikt, wordt een formulier normaal weergegeven, maar het verzenden ervan activeert geen invoervalidatie, verzendt geen data naar een webserver, en sluit geen dialoogvenster.
  • allow-modals
    • : Staat de pagina toe modale vensters te openen met Window.alert(), Window.confirm(), Window.print() en Window.prompt(), terwijl het openen van een <dialog> altijd is toegestaan, ongeacht dit trefwoord. Het staat de pagina ook toe om de gebeurtenis BeforeUnloadEvent te ontvangen.
  • allow-orientation-lock
    • : Staat de bron toe om de schermoriëntatie te vergrendelen.
  • allow-pointer-lock
    • : Staat de pagina toe om de Pointer Lock API te gebruiken.
  • allow-popups
    • : Staat pop-ups toe (bijvoorbeeld aangemaakt door Window.open() of target="_blank"). Als dit trefwoord niet wordt gebruikt, mislukt die functionaliteit stilzwijgend.
  • allow-popups-to-escape-sandbox
    • : Staat een gesandboxed document toe om een nieuwe browsing context te openen zonder de sandboxvlaggen daaraan op te leggen. Dit maakt het bijvoorbeeld mogelijk om een advertentie van derden veilig te sandboxen zonder dezelfde beperkingen op te leggen aan de pagina waarnaar de advertentie linkt. Als deze vlag niet is opgenomen, worden een doorverwezen pagina, pop-upvenster of nieuw tabblad onderworpen aan dezelfde sandboxbeperkingen als de oorspronkelijke <iframe>.
  • allow-presentation
    • : Staat inbedders toe om controle te hebben over of een iframe een presentatiesessie kan starten.
  • allow-same-origin
    • : Als dit token niet wordt gebruikt, wordt de bron behandeld alsof deze afkomstig is van een speciale origin die altijd faalt bij het same-origin policy (wat mogelijk toegang tot dataopslag/cookies en sommige JavaScript-API's voorkomt).
      Opmerking

      Wanneer allow-same-origin aanwezig is, kan een ouder-document met dezelfde origin nog steeds toegang krijgen tot en interactie hebben met de DOM van de iframe, zelfs als allow-scripts niet is ingesteld. Het allow-scripts-token regelt alleen de scriptuitvoering binnen de ingebedde browsing context en heeft geen invloed op DOM-toegang vanuit de ouder.

  • allow-scripts
    • : Staat de pagina toe om scripts uit te voeren (maar niet om pop-upvensters te maken). Als dit trefwoord niet wordt gebruikt, is deze bewerking niet toegestaan.
  • allow-storage-access-by-user-activation Experimenteel
    • : Staat een document dat in de <iframe> is geladen toe om de Storage Access API te gebruiken om toegang te vragen tot niet-gepartitioneerde cookies.
  • allow-top-navigation
    • : Staat de bron toe om te navigeren in de browsing context op het hoogste niveau (degene met de naam _top).
  • allow-top-navigation-by-user-activation
    • : Staat de bron toe om te navigeren in de browsing context op het hoogste niveau, maar alleen als dit door een gebruikersactie is geïnitieerd.
  • allow-top-navigation-to-custom-protocols
    • : Staat navigaties toe naar niet-http-protocollen die in de browser zijn ingebouwd of geregistreerd door een website. Deze functie wordt ook geactiveerd door het trefwoord allow-popups of allow-top-navigation.
Opmerking
  • Wanneer het ingebedde document dezelfde origin heeft als de insluitende pagina, wordt het gebruik van zowel allow-scripts als allow-same-origin sterk afgeraden, omdat dit het ingebedde document in staat stelt het sandbox-attribuut te verwijderen — waardoor het niet veiliger is dan wanneer het sandbox-attribuut helemaal niet wordt gebruikt.
  • Sandboxing is nutteloos als de aanvaller inhoud buiten een gesandboxed iframe kan weergeven — bijvoorbeeld als de kijker het frame in een nieuw tabblad opent. Dergelijke inhoud moet ook vanuit een aparte origin worden aangeboden om potentiële schade te beperken.
Opmerking

Bij het omleiden van de gebruiker, het openen van een pop-upvenster, of het openen van een nieuw tabblad vanuit een ingebedde pagina binnen een <iframe> met het sandbox-attribuut, is de nieuwe browsing context onderworpen aan dezelfde sandbox-beperkingen. Dit kan problemen veroorzaken — bijvoorbeeld als een pagina die is ingebed in een <iframe> zonder het attribuut sandbox="allow-forms" of sandbox="allow-popups-to-escape-sandbox" een nieuwe site in een apart tabblad opent, mislukt formulierverzending in die nieuwe browsing context stilzwijgend.

Alles over <iframe> →

Andere attributen van deze elementen