Content-Security-Policy: sandbox-Direktive
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since November 2016.
Die HTTP Content-Security-Policy (CSP) sandbox-Direktive aktiviert eine Sandbox für die angeforderte Ressource, ähnlich dem <iframe> sandbox-Attribut. Sie schränkt die Aktionen einer Seite ein, indem sie unter anderem Pop-ups verhindert, die Ausführung von Plugins und Skripten blockiert und eine Same-Origin-Policy erzwingt.
| CSP-Version | 1.1 / 2 |
|---|---|
| Direktivtyp | Dokumentdirektive |
Diese Direktive wird nicht im <meta>-Element oder vom Content-Security-policy-Report-Only-Headerfeld unterstützt.
|
|
Syntax
Content-Security-Policy: sandbox;
Content-Security-Policy: sandbox <value>;
wobei <value> optional einer der folgenden Werte sein kann:
allow-downloads-
Erlaubt das Herunterladen von Dateien über ein
<a>- oder<area>-Element mit dem download-Attribut, sowie durch eine Navigation, die zum Herunterladen einer Datei führt. Dies funktioniert unabhängig davon, ob der Benutzer auf den Link geklickt hat oder ob der Vorgang durch JS-Code ohne Benutzerinteraktion initiiert wurde. allow-forms-
Erlaubt der Seite das Absenden von Formularen. Wenn dieses Schlüsselwort nicht verwendet wird, wird das Formular normal angezeigt, aber das Absenden löst keine Eingabevalidierung, das Senden von Daten an einen Webserver oder das Schließen eines Dialogs aus.
allow-modals-
Erlaubt der Seite das Öffnen von Modalfenstern durch
Window.alert(),Window.confirm(),Window.print()undWindow.prompt(), während das Öffnen eines<dialog>unabhängig von diesem Schlüsselwort erlaubt ist. Es erlaubt auch, dass die Seite dasBeforeUnloadEvent-Ereignis empfängt. allow-orientation-lock-
Ermöglicht der Ressource, die Bildschirmorientierung zu sperren.
allow-pointer-lock-
Erlaubt der Seite die Verwendung der Pointer Lock API.
allow-popups-
Erlaubt Pop-ups (erzeugt beispielsweise durch
Window.open()odertarget="_blank"). Wenn dieses Schlüsselwort nicht verwendet wird, wird die Anzeige von Pop-ups stummgeschaltet. allow-popups-to-escape-sandbox-
Erlaubt einem dokumentierten Sandbox, neue Fenster zu öffnen, ohne die Sandbox-Flags auf sie zu erzwingen. Dies erlaubt es beispielsweise, dass eine Drittanbieter-Werbung sicher in eine Sandbox gesetzt wird, ohne dieselben Einschränkungen auf die Seite zu erzwingen, auf die die Anzeige verlinkt.
allow-presentation-
Erlaubt den Einbettenden, die Kontrolle darüber zu haben, ob ein iframe eine Präsentationssitzung starten kann.
allow-same-origin-
Erlaubt einer in der Sandbox befindlichen Ressource, ihren Ursprung beizubehalten. Eine in der Sandbox befindliche Ressource wird andernfalls als von einem undurchsichtigen Ursprung stammend betrachtet, was sicherstellt, dass sie stets bei Same-Origin-Policy-Prüfungen fehlschlägt und somit nicht auf
localstorageunddocument.cookieund einige JavaScript-APIs zugreifen kann. DerOriginvon in der Sandbox befindlichen Ressourcen ohne dasallow-same-origin-Schlüsselwort istnull. allow-scripts-
Erlaubt der Seite, Skripte auszuführen (aber keine Pop-up-Fenster zu erstellen). Wenn dieses Schlüsselwort nicht verwendet wird, ist diese Aktion nicht erlaubt.
allow-storage-access-by-user-activationExperimentell-
Erlaubt der Ressource, den Zugriff auf die Speicherfähigkeiten des Elternteils mit der Storage Access API anzufordern.
-
Erlaubt der Ressource, den obersten Browsing-Kontext zu navigieren (denjenigen, der
_topgenannt wird). -
Erlaubt der Ressource, den obersten Browsing-Kontext zu navigieren, aber nur, wenn es durch eine Benutzeraktion initiiert wird.
-
Erlaubt Navigationsvorgänge zu nicht-
http-Protokollen, die in den Browser oder von einer Website registriert wurden. Diese Funktion wird auch durch dasallow-popups- oderallow-top-navigation-Schlüsselwort aktiviert.
Hinweis:
Die Werte allow-top-navigation und die damit verbundenen Werte sind nur für eingebettete Dokumente (wie Kind-iframes) sinnvoll. Für eigenständige Dokumente haben diese Werte keine Wirkung, da der oberste Browsing-Kontext das Dokument selbst ist.
Beispiele
Content-Security-Policy: sandbox allow-scripts;
Spezifikationen
| Specification |
|---|
| Content Security Policy Level 3> # directive-sandbox> |
Browser-Kompatibilität
Siehe auch
Content-Security-Policysandbox-Attribut auf<iframe>Elementen