HTML Academy · Lektion

iframe-Sandboxing und Permissions Policy

Beschränken Sie eingebettete Inhalte mit sandbox und Permissions-Policy

Lektion 3 von 414 Schritte

iframe-Sandboxing und Permissions Policy ist eine kostenlose HTML Academy-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des HTML Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der HTML Academy-Kurs umfasst insgesamt 4 Lektionen.

Warum Sandbox-iframes?

Nicht vertrauenswürdige Inhalte in einem iframe (Widgets von Drittanbietern, HTML-Vorschauen aus Benutzereingaben, eingebettete Spiele) sollten nicht über die vollständigen Browserfunktionen verfügen. Das Attribut sandbox schränkt ein, was das iframe tun kann, und verringert den Schaden, falls sich der Inhalt als bösartig herausstellt.

Leere Sandbox = Maximale Einschränkung

<iframe sandbox src="..."> ohne Wert wendet alle Einschränkungen an: keine Skripte, keine Formulare, keine Pop-ups, keine Navigation auf oberster Ebene, keine Plugins und Behandlung als eindeutiger Origin. Verwenden Sie dies als Ausgangspunkt und fügen Sie nur hinzu, was der eingebettete Inhalt benötigt.

Funktionen hinzufügen

Sandbox-Tokens aktivieren gezielt einzelne Funktionen wieder: sandbox="allow-scripts allow-same-origin" erlaubt die Ausführung von Skripten und den Zugriff auf denselben Origin. Jeder Token lockert eine Einschränkung; kombinieren Sie nur die minimale Menge, die das iframe tatsächlich benötigt.

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

Häufige Tokens

allow-scripts aktiviert JavaScript. allow-forms aktiviert das Absenden von Formularen. allow-popups aktiviert window.open. allow-same-origin verhindert, dass das iframe als eindeutiger Origin behandelt wird (erforderlich für localStorage). allow-top-navigation erlaubt die Navigation des übergeordneten Fensters.

Die gefährliche Kombination

Wenn Sie allow-scripts mit allow-same-origin für ein iframe kombinieren, das Sie ebenfalls selbst hosten, erhält das iframe vollständigen Zugriff auf Ihren Origin — einschließlich der Möglichkeit, die eigene Sandbox zu entfernen. Kombinieren Sie diese Tokens nur für vertrauenswürdige Inhalte; lassen Sie bei nicht vertrauenswürdigen Inhalten allow-same-origin weg.

Berechtigungsrichtlinie

Permissions Policy (früher Feature Policy) steuert, welche Browser-APIs (Kamera, Mikrofon, Geolocation, Vollbild, automatische Wiedergabe) die Seite und ihre iframes verwenden dürfen. Legen Sie sie im übergeordneten Dokument fest: Permissions-Policy: geolocation=() blockiert Geolocation überall.

Berechtigung pro iframe gewähren

Das Attribut allow eines iframes überschreibt die Richtlinie des übergeordneten Dokuments für dieses iframe: <iframe allow="camera; microphone"> erlaubt diese APIs im iframe, selbst wenn die Standardrichtlinie des übergeordneten Dokuments sie verweigert.

<iframe
  src="https://video-call.example.com"
  allow="camera; microphone; fullscreen"
  sandbox="allow-scripts allow-same-origin">
</iframe>

Berechtigungen auflisten

Die Liste in den Spezifikationen entwickelt sich ständig weiter — Kamera, Mikrofon, Geolocation, Accelerometer, Gyroskop, Magnetometer, Payment, USB, MIDI, Vollbild, automatische Wiedergabe, Picture-in-Picture und Dutzende weitere. Prüfen Sie die Liste und verweigern Sie ausdrücklich alles, was Ihre Seite nicht benötigt.

Richtlinienverletzungen melden

Permissions-Policy meldet Verstöße an einen konfigurierten Endpunkt, ähnlich wie report-uri bei CSP. Verwenden Sie dies während einer Migration: Aktivieren Sie eine strenge Richtlinie, beobachten Sie, was dadurch beeinträchtigt wird, und lockern Sie sie anschließend schrittweise für tatsächlich benötigte Funktionen.

Origin-Isolierung

Setzen Sie für sensible Seiten Cross-Origin-Opener-Policy: same-origin und Cross-Origin-Embedder-Policy: require-corp. Dadurch wird die Seite von Cross-Origin-Fenstern isoliert, was vor Timing-Angriffen im Stil von Spectre schützt und SharedArrayBuffer aktiviert.

Mehrschichtige Verteidigung

Sandbox, Permissions Policy, CSP und COOP/COEP wirken zusammen. Jede Maßnahme schützt vor einer anderen Angriffsklasse. Das Einbetten von Inhalten Dritter ist so riskant, dass keine einzelne Schutzmaßnahme ausreicht — kombinieren Sie sie, damit ein Umgehen der einen Maßnahme von einer anderen erkannt wird.

Testen

Verwenden Sie das Network-Panel und das Issues-Panel in Chrome DevTools, um Sandbox- und Berechtigungsverstöße sichtbar zu machen. Viele Verstöße bleiben unbemerkt (die API gibt einfach undefined zurück oder lehnt das Promise ab); explizite Meldeendpunkte helfen dabei, sie in der Produktion zu entdecken.

Wissensüberprüfung

Warum kann die Kombination sandbox="allow-scripts allow-same-origin" für ein iframe, das auf Ihrem eigenen Origin gehostet wird, gefährlich sein?

Zusammenfassung

Verwenden Sie Sandboxes für iframes standardmäßig und fügen Sie nur die Tokens hinzu, die der Inhalt benötigt. Vermeiden Sie allow-scripts+allow-same-origin für nicht vertrauenswürdige Inhalte. Verwenden Sie Permissions Policy, um leistungsfähige APIs für die gesamte Website zu verweigern, und das allow-Attribut des iframes, um Ausnahmen zu gewähren. Kombinieren Sie dies mit CSP und COOP/COEP für eine mehrschichtige Verteidigung.

Kostenlos starten

Lerne HTML mit einem KI-Tutor — kostenlos

Schreibe und führe echten Code in deinem Browser aus, bekomme sofortige Hilfe von einem 24/7 KI-Tutor und setze dein Lernen im Web oder in der App fort.

Kurse
40
Lektionen
159

Häufig gestellte Fragen

Ist die Lektion „iframe-Sandboxing und Permissions Policy“ kostenlos?

Ja — der vollständige Text von „iframe-Sandboxing und Permissions Policy“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des HTML Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der HTML Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „iframe-Sandboxing und Permissions Policy“?

Beschränken Sie eingebettete Inhalte mit sandbox und Permissions-Policy Du übst HTML Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um HTML Academy zu starten?

Keine Vorkenntnisse erforderlich. HTML Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 4.

Wie lange dauert die Lektion „iframe-Sandboxing und Permissions Policy“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser HTML Academy-Lektion Code schreiben und ausführen?

Ja. Jede HTML Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Content Security Policy: meta http-equiv
  2. XSS mit innerHTML und wie Sie es verhindern
  3. iframe-Sandboxing und Permissions Policy
  4. HTTPS und Subresource Integrity
← Zurück zu HTML Academy