X-Frame-Options header
Hinweis:
Für umfassendere Optionen, als sie dieser Header bietet, siehe die frame-ancestors
-Direktive im Content-Security-Policy
-Header.
Der HTTP X-Frame-Options
Antwort-Header kann verwendet werden, um anzuzeigen, 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 erhöhte Sicherheit wird nur geboten, wenn der Benutzer, der auf das Dokument zugreift, einen Browser verwendet, der X-Frame-Options
unterstützt.
Header-Typ | Antwort-Header |
---|---|
Verbotener Anfrage-Header | Nein |
Syntax
Für X-Frame-Options
gibt es zwei mögliche Direktiven:
X-Frame-Options: DENY
X-Frame-Options: SAMEORIGIN
Direktiven
Wenn Sie DENY
angeben, wird der Versuch des Browsers, die Seite in einem Frame zu laden, fehlschlagen, selbst wenn sie von derselben Seite geladen wird. Andererseits, wenn Sie SAMEORIGIN
angeben, können Sie die Seite weiterhin in einem Frame verwenden, solange die einbettende Seite dieselbe ist wie die, die die Seite liefert.
DENY
-
Die Seite kann in keinem Frame angezeigt werden, unabhängig von der Seite, die es versucht.
SAMEORIGIN
-
Die Seite kann nur angezeigt werden, wenn alle übergeordneten Frames denselben Ursprung wie die Seite selbst haben.
ALLOW-FROM origin
Veraltet-
Diese Direktive ist veraltet. Moderne Browser, die auf Antwort-Header mit dieser Direktive stoßen, ignorieren den Header vollständig. Der
Content-Security-Policy
HTTP-Header enthält eineframe-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.
Konfiguration von Apache
Um Apache so zu konfigurieren, dass der X-Frame-Options
-Header für alle Seiten gesendet wird, fügen Sie dies zur Konfiguration Ihrer Website hinzu:
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:
Header set X-Frame-Options "DENY"
Konfiguration von Nginx
Um Nginx so zu konfigurieren, dass der X-Frame-Options
-Header gesendet wird, fügen Sie dies entweder zu Ihrer http-, server- oder location-Konfiguration hinzu:
add_header X-Frame-Options SAMEORIGIN always;
Sie können den X-Frame-Options
-Header auf DENY
setzen mit:
add_header X-Frame-Options DENY always;
Konfiguration von IIS
Um IIS so zu konfigurieren, dass der X-Frame-Options
-Header gesendet wird, fügen Sie dies zur Web.config
-Datei Ihrer Website hinzu:
<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 über die IIS Manager-Benutzeroberfläche.
Konfiguration von HAProxy
Um HAProxy so zu konfigurieren, dass der X-Frame-Options
-Header gesendet wird, fügen Sie dies zu Ihrer front-end, 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
auf SAMEORIGIN
mit Helmet zu setzen, fügen Sie Folgendes zur Server-Konfiguration hinzu:
import helmet from "helmet";
const app = express();
app.use(
helmet({
xFrameOptions: { action: "sameorigin" },
}),
);
Spezifikationen
Specification |
---|
HTML # the-x-frame-options-header |