Was ist X-Frame-Options und wofür ist es gut?

X-Frame-Options ist ein HTTP-Header, der verhindert, dass deine Webseiten in einem iFrame anderer Webseiten eingebettet werden. Dadurch schützt du deine Seite vor Clickjacking-Angriffen.

Schritt-für-Schritt-Anleitung zur Aktivierung

  • Schritt 1: Prüfe, ob der Header bereits gesendet wird. Führe z. B. aus der Kommandozeile aus: curl -I https://deine-domain.tld und suche nach Zeilen wie: X-Frame-Options.
  • Schritt 2: Wähle die passende Option.
    • DENY – Die Seite darf in keinem iFrame angezeigt werden.
    • SAMEORIGIN – Die Seite darf nur in iFrames derselben Domain eingebettet werden.
    • Hinweis: ALLOW-FROM ist veraltet und wird von modernen Browsern nicht mehr zuverlässig unterstützt.
  • Schritt 3: Konfiguriere den Header je nach Webserver. Unten findest du Beispiele.
  • Schritt 4: Teste den Header erneut mit curl, um sicherzustellen, dass er gesetzt ist.
  • Schritt 5: Optional: Nutze zusätzlich Content-Security-Policy frame-ancestors als modernen Schutz.

Beispiele für gängige Server

Apache (httpd.conf oder .htaccess)

Füge Folgendes hinzu, um X-Frame-Options auf SAMEORIGIN zu setzen:

<IfModule mod_headers.c>
  Header always set X-Frame-Options "SAMEORIGIN"
</IfModule>

Nginx

Füge in deiner Server- oder Location-Konfiguration Folgendes hinzu:

add_header X-Frame-Options "SAMEORIGIN";

IIS (web.config)

Für IIS fügst du in der web.config unter system.webServer/httpProtocol/customHeaders hinzu:

<system.webServer>
  <httpProtocol>
    <customHeaders>
      <add name="X-Frame-Options" value="SAMEORIGIN" />
    </customHeaders>
  </httpProtocol>
</system.webServer>

Modernere Alternative: Content-Security-Policy frame-ancestors

frame-ancestors ist Teil der Content-Security-Policy (CSP) und bietet flexiblere Steuerung als X-Frame-Options. Beispiel:

Content-Security-Policy: frame-ancestors 'self';

Hinweis: CSP kann zusätzlich zu X-Frame-Options verwendet werden, ersetzt diese jedoch nicht immer 1:1. Prüfe Kompatibilität deiner Systeme.

Schnellcheck nach der Umsetzung

  • Schritt 1: Server neu starten oder Konfiguration neu laden.
  • Schritt 2: erneut curl -I prüfen auf X-Frame-Options oder CSP-Verwendung.
  • Schritt 3: Teste das Einbetten deiner Seite in einer anderen Domain.

Hilfreiche Hinweise

  • X-Frame-Options wird von einigen älteren Browsern unterstützt. CSP frame-ancestors wird von modernen Browsern besser unterstützt.
  • Vermeide Doppelkollisionen: Wenn du sowohl X-Frame-Options als auch CSP verwendest, stelle sicher, dass CSP die gewünschte Politik widerspiegelt.
  • Dokumentiere deine Sicherheitsentscheidungen in der Wissensdatenbank für andere Entwickler.
Hjalp dette svar dig? 0 Kunder som kunne bruge dette svar (0 Stem)