X-Frame-Options

Veraltet: Diese Funktion wird nicht mehr empfohlen. Obwohl einige Browser sie möglicherweise noch unterstützen, kann sie bereits aus den relevanten Webstandards entfernt worden sein, befindet sich im Prozess der Entfernung oder wird nur aus Kompatibilitätsgründen beibehalten. Vermeiden Sie die Verwendung und aktualisieren Sie gegebenenfalls bestehenden Code; siehe die Kompatibilitätstabelle am Ende dieser Seite, um Ihre Entscheidung zu treffen. Beachten Sie, dass diese Funktion jederzeit nicht mehr funktionieren kann.

Warnung: Anstelle dieses Headers verwenden Sie die frame-ancestors Direktive in einem Content-Security-Policy Header.

Der X-Frame-Options HTTP Antwort-Header kann verwendet werden, um anzuzeigen, ob ein Browser erlaubt sein soll, eine Seite in einem <frame>, <iframe>, <embed> oder <object> darzustellen. Websites können dies nutzen, um Click-Jacking Angriffe zu vermeiden, indem sie sicherstellen, dass ihre Inhalte nicht in andere Sites eingebettet werden.

Die zusätzliche Sicherheit wird nur geboten, wenn der Benutzer, der das Dokument aufruft, einen Browser verwendet, der X-Frame-Options unterstützt.

Header-Typ Antwort-Header
Verbotener Header-Name nein

Syntax

Es gibt zwei mögliche Direktiven für X-Frame-Options:

http
X-Frame-Options: DENY
X-Frame-Options: SAMEORIGIN

Direktiven

Wenn Sie DENY angeben, wird nicht nur der Versuch des Browsers, die Seite in einem Frame zu laden, fehlschlagen, wenn sie von anderen Seiten geladen wird. Versuche, dies von der gleichen Site aus zu tun, scheitern ebenfalls. Wenn Sie jedoch SAMEORIGIN angeben, können Sie die Seite weiterhin in einem Frame verwenden, solange die Site, die sie in einem Frame einbettet, die gleiche ist wie die, die die Seite liefert.

DENY

Die Seite kann in keinem Frame dargestellt werden, unabhängig von der Site, die versucht, dies zu tun.

SAMEORIGIN Veraltet

Die Seite kann nur angezeigt werden, wenn alle übergeordneten Frames denselben Ursprung haben wie die Seite selbst.

ALLOW-FROM origin Veraltet

Dies ist eine veraltete Direktive. Moderne Browser, die Antwort-Header mit dieser Direktive finden, ignorieren den Header vollständig. Der Content-Security-Policy HTTP-Header hat eine frame-ancestors Direktive, die Sie stattdessen verwenden sollten.

Beispiele

Warnung: Das Setzen von X-Frame-Options im <meta> Element (z.B. <meta http-equiv="X-Frame-Options" content="deny">) hat keine Wirkung. X-Frame-Options wird nur über HTTP-Header durchgesetzt, wie in den folgenden Beispielen gezeigt.

Apache konfigurieren

Um Apache so zu konfigurieren, dass der X-Frame-Options Header für alle Seiten gesendet wird, fügen Sie dies zur Konfiguration Ihrer Site hinzu:

apacheconf
Header always set X-Frame-Options "SAMEORIGIN"

Um Apache so einzustellen, dass X-Frame-Options auf DENY gesetzt wird, fügen Sie dies zur Konfiguration Ihrer Site hinzu:

apacheconf
Header set X-Frame-Options "DENY"

Nginx konfigurieren

Um Nginx so zu konfigurieren, dass der X-Frame-Options Header gesendet wird, fügen Sie dies Ihrer http-, server- oder location-Konfiguration hinzu:

nginx
add_header X-Frame-Options SAMEORIGIN always;

Sie können den X-Frame-Options Header auf DENY setzen, indem Sie folgendes verwenden:

nginx
add_header X-Frame-Options DENY always;

IIS konfigurieren

Um IIS so zu konfigurieren, dass der X-Frame-Options Header gesendet wird, fügen Sie dies zur Web.config Datei Ihrer Site hinzu:

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

Für weitere Informationen, siehe den Microsoft-Supportartikel zur Konfiguration mit der IIS-Manager-Benutzeroberfläche.

HAProxy konfigurieren

Um HAProxy so zu konfigurieren, dass der X-Frame-Options Header gesendet wird, fügen Sie dies Ihrer Frontend-, Listen- oder Backend-Konfiguration hinzu:

rspadd X-Frame-Options:\ SAMEORIGIN

Alternativ, in neueren Versionen:

http-response set-header X-Frame-Options SAMEORIGIN

Express konfigurieren

Um X-Frame-Options auf SAMEORIGIN mit Helmet zu setzen, fügen Sie das Folgende zur Serverkonfiguration hinzu:

js
const helmet = require("helmet");
const app = express();
app.use(
  helmet({
    xFrameOptions: { action: "sameorigin" },
  }),
);

Spezifikationen

Specification
HTML Standard
# the-x-frame-options-header

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch