Diese Übersetzung ist unvollständig. Bitte helfen Sie, diesen Artikel aus dem Englischen zu übersetzen.

Die X-Frame-Options im HTTP Antwort Header kann verwendet werden, um zu bestimmen, ob ein aufrufender Browser die Zielseite in einem <frame>, <iframe> oder <object> rendern also einbetten darf. Webseiten können diesen Header verwenden, um clickjacking Attacken abzuwehren, indem sie unterbinden, dass ihr Content in fremden Seiten eingebettet wird.

Die somit erreichte Sicherheit wird nur dann gewährleistet, wenn der User zum Aufruf einen Browser verwendet, der die X-Frame-Options Funktion auch unterstützt.

Header type Response header
Forbidden header name nein

Syntax

Es gibt drei mögliche Ausprägungen der X-Frame-Options:

X-Frame-Options: DENY
X-Frame-Options: SAMEORIGIN
X-Frame-Options: ALLOW-FROM https://example.com/

Ausprägungen

Die Nutzung von DENY unterbindet nicht nur die Frame-Einbindung von fremden Seiten sondern auch das Einbetten auf derselben Ursprungswebseite. Alternativ kann der Wert SAMEORIGIN verwendet werden, wenn die Nutzung innerhalb der gleichen Ursprungswebseite erlaubt sein soll.

DENY
Die Seite kann nicht in einem Frame eingebettet werden, egal welches die aufrufende Webseite ist.
SAMEORIGIN
Die Seite kann nur als Frame eingebettet werden, wenn beide von der gleichen Quellseite (same origin) stammen. Die Spezifikation lässt es Browserherstellern offen, auf welcher Ebene dieser Wert greift: auf höchster Ebene, der nächsthöheren oder der gesamten Kette. Es wird jedoch festgestellt, dass die Option wenig nützlich ist, sofern nicht alle Eltern-Webseiten von der gleichen Quelle stammen (siehe Bug 725490).  Siehe weiterhin Browser compatibility zur Browserunterstützung.
ALLOW-FROM uri
Die Seite lässt sich ausschließlich dann einbetten, wenn die einbettende Seite aus der Quelle uri stammt. Hinweis: In Firefox besteht hier das gleiche Problem wie bei sameorigin -  die Eltern-Frames werden nicht darauf hin geprüft, ob sie aus der gleichen Quelle stammen.

Beispiele

Hinweis: Die Nutzung des meta tag innerhalb des Webseiten-Contents hat keinen Effekt! Beispielsweise die Deklaration <meta http-equiv="X-Frame-Options" content="deny"> führt zu keiner Verhaltensänderung. Ausschließlich die Nutzung der HTTP Header (siehe Beispiele) führt zu einer Verhaltensänderung des Browser.

Apache Konfiguration

Um einen Apache Webserver zum Senden des X-Frame-Options Headers für alle Webseiten zu bewegen, fügen Sie folgenden Eintrag in die Seiten-Konfiguration ein:

Header always set X-Frame-Options "sameorigin"

Um Apache so zu konfigurieren, dass X-Frame-Options mit dem Wert deny gesendet wird, fügen Sie folgenden Eintrag in die Seiten-Konfiguration ein:

Header set X-Frame-Options "deny"

Um Apache so zu konfigurieren, dass X-Frame-Options mit dem Wert allow-from einen bestimmten Host freigibt, fügen Sie folgenden Eintrag in die Seiten-Konfiguration ein:

Header set X-Frame-Options "allow-from https://example.com/"

nginx Konfiguration

Um einen nginx Server zum Senden des X-Frame-Options Header aufzufordern, fügen Sie folgenden Eintrag entweder zu Ihrer http, server oder location Konfiguration hinzu:

add_header X-Frame-Options sameorigin;

IIS Konfiguration

Um den IIS Server zum Senden des X-Frame-Options Headers aufzufordern, ergänzen Sie folgenden Eintrag entsprechend in Ihrer Web.config Datei:

<system.webServer>
  ...

  <httpProtocol>
    <customHeaders>
      <add name="X-Frame-Options" value="sameorigin" />
    </customHeaders>
  </httpProtocol>

  ...
</system.webServer>

HAProxy Konfiguration

Um HAProxy zum Senden des X-Frame-Options Headers aufzufordern, fügen Sie diesen Eintrag zu Ihrer front-end, listen oder backend Konfiguration hinzu:

rspadd X-Frame-Options:\ sameorigin

Spezifikationen

Spezifikation Bezeichnung
RFC 7034 HTTP Header Field X-Frame-Options

Browser Kompatibilität

No compatibility data found. Please contribute data for "http/headers/x-frame-options" (depth: X-Frame-Options) to the MDN compatibility data repository.

Siehe auch

Schlagwörter des Dokuments und Mitwirkende

Mitwirkende an dieser Seite: javafrog, Lars-Wunderlich
Zuletzt aktualisiert von: javafrog,