X-Frame-Options

Hinweis: Für umfassendere Optionen als die, die durch diesen Header angeboten werden, siehe die frame-ancestors Direktive in einem Content-Security-Policy Header.

Der HTTP X-Frame-Options Antwort-Header kann verwendet werden, um anzugeben, ob ein Browser eine Seite in einem <frame>, <iframe>, <embed> oder <object> rendern darf. Websites können dies nutzen, um Clickjacking Angriffe zu vermeiden, indem sie sicherstellen, dass ihre Inhalte nicht in andere Seiten eingebettet werden.

Die zusätzliche Sicherheit wird nur geboten, wenn der Nutzer, der auf das Dokument zugreift, 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, sondern auch, wenn sie von derselben Seite geladen wird. Andererseits können Sie, wenn Sie SAMEORIGIN angeben, die Seite weiterhin in einem Frame verwenden, solange die Seite, die sie in einem Frame einfügt, dieselbe ist wie die, die die Seite bereitstellt.

DENY

Die Seite kann in keinem Frame angezeigt werden, unabhängig von der Seite, die den Versuch unternimmt.

SAMEORIGIN

Die Seite kann nur angezeigt werden, wenn alle Vorfahren-Frames dieselbe Herkunft wie die Seite selbst haben.

ALLOW-FROM origin Veraltet

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

Beispiele

Warnung: Das Setzen von X-Frame-Options innerhalb des <meta> Elements (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.

Konfigurieren von Apache

Um Apache zu konfigurieren, den X-Frame-Options Header für alle Seiten zu senden, fügen Sie dies in die Konfiguration Ihrer Website ein:

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

Um Apache zu konfigurieren, X-Frame-Options auf DENY zu setzen, fügen Sie dies in die Konfiguration Ihrer Website ein:

apacheconf
Header set X-Frame-Options "DENY"

Konfigurieren von Nginx

Um Nginx zu konfigurieren, den X-Frame-Options Header zu senden, fügen Sie dies in die http-, server- oder location-Konfiguration ein:

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;

Konfigurieren von IIS

Um IIS zu konfigurieren, den X-Frame-Options Header zu senden, fügen Sie dies in die Web.config Datei Ihrer Website ein:

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

Weitere Informationen finden Sie im Microsoft Support-Artikel zur Konfiguration dieser Einstellung mit der Benutzeroberfläche des IIS Managers.

Konfigurieren von HAProxy

Um HAProxy zu konfigurieren, den X-Frame-Options Header zu senden, fügen Sie dies in Ihre Frontend-, Listen- oder Backend-Konfiguration ein:

rspadd X-Frame-Options:\ SAMEORIGIN

Alternativ in neueren Versionen:

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

Konfigurieren von Express

Um X-Frame-Options mit Helmet auf SAMEORIGIN zu setzen, fügen Sie Folgendes in Ihre Serverkonfiguration ein:

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

Spezifikationen

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

Browser-Kompatibilität

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
X-Frame-Options
ALLOW-FROM
DeprecatedNon-standard
SAMEORIGIN

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
No support
No support
Non-standard. Check cross-browser support before using.
Deprecated. Not for use in new websites.
See implementation notes.

Siehe auch