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
:
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 eineframe-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:
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:
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:
add_header X-Frame-Options SAMEORIGIN always;
Sie können den X-Frame-Options
Header auf DENY
setzen, indem Sie Folgendes verwenden:
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:
<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:
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 GitHubdesktop | mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
X-Frame-Options | ||||||||||||
ALLOW-FROM | ||||||||||||
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.