X-Frame-Options header

Hinweis: Für umfassendere Optionen als die in diesem Header angebotenen, siehe die frame-ancestors-Direktive in einem Content-Security-Policy-Header.

Der HTTP X-Frame-Options Response-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 bereitgestellt, wenn der Benutzer, der das Dokument aufruft, einen Browser verwendet, der X-Frame-Options unterstützt.

Header-Typ Response-Header
Verbotener Request-Header Nein

Syntax

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

Direktiven

DENY

Die Seite kann in keinem Frame angezeigt werden, unabhängig von der Website, die versucht, dies zu tun. Sowohl der Versuch des Browsers, die Seite in einem Frame zu laden, wird fehlschlagen, wenn er von anderen Seiten geladen wird, als auch der Versuch, dies von derselben Seite aus zu tun, wird scheitern.

SAMEORIGIN

Die Seite kann nur angezeigt werden, wenn alle übergeordneten Frames vom gleichen Ursprung wie die Seite selbst stammen. Sie können die Seite weiterhin in einem Frame verwenden, solange die Seite, die sie in einem Frame einschließt, dieselbe ist wie die, die die Seite bereitstellt.

ALLOW-FROM origin Veraltet

Dies ist eine veraltete Direktive. Moderne Browser, die Antwort-Header mit dieser Direktive erkennen, werden den Header vollständig ignorieren. Der Content-Security-Policy HTTP-Header verfügt über eine frame-ancestors-Direktive, die Sie stattdessen verwenden sollten.

Beispiele

Warnung: Das Festlegen 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 unten stehenden Beispielen gezeigt.

Konfiguration von Apache

Um Apache so zu konfigurieren, dass er den X-Frame-Options-Header für alle Seiten sendet, fügen Sie dies zur Konfiguration Ihrer Website hinzu:

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

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

apacheconf
Header set X-Frame-Options "DENY"

Konfiguration von Nginx

Um Nginx so zu konfigurieren, dass er den X-Frame-Options-Header sendet, fügen Sie dies entweder Ihrer http-, server- oder location-Konfiguration hinzu:

nginx
add_header X-Frame-Options SAMEORIGIN always;

Sie können den X-Frame-Options-Header mit dem Wert DENY setzen:

nginx
add_header X-Frame-Options DENY always;

Konfiguration von IIS

Um IIS so zu konfigurieren, dass er den X-Frame-Options-Header sendet, fügen Sie dies zur Web.config-Datei Ihrer Website hinzu:

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

Weitere Informationen finden Sie im Microsoft-Supportartikel zur Konfiguration dieser Einstellung über die IIS-Manager-Oberfläche.

Konfiguration von HAProxy

Um HAProxy so zu konfigurieren, dass er den X-Frame-Options-Header sendet, 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

Konfiguration von Express

Um X-Frame-Options mit dem Wert SAMEORIGIN mithilfe von Helmet zu setzen, fügen Sie Folgendes zur Serverkonfiguration hinzu:

js
import helmet from "helmet";

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

Spezifikationen

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

Browser-Kompatibilität

Siehe auch