X-Frame-Options header
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 erlaubt werden soll, eine Seite in einem <frame>, <iframe>, <embed> oder <object> darzustellen. Websites können dies nutzen, um Clickjacking Angriffe zu vermeiden, indem sie sicherstellen, dass ihre Inhalte nicht in andere Websites eingebettet werden.
Die zusätzliche Sicherheit wird nur bereitgestellt, wenn der Benutzer, der auf das Dokument zugreift, einen Browser verwendet, der X-Frame-Options unterstützt.
| Header-Typ | Antwort-Header |
|---|
Syntax
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. Nicht nur wird der Versuch des Browsers, die Seite in einem Frame zu laden, fehlschlagen, wenn sie von anderen Websites geladen wird; auch Versuche, dies von derselben Website zu tun, werden fehlschlagen.
SAMEORIGIN-
Die Seite kann nur angezeigt werden, wenn alle übergeordneten Frames denselben Ursprung wie die Seite selbst haben. Sie können die Seite weiterhin in einem Frame verwenden, solange die Seite, die sie in einem Frame einbettet, dieselbe ist, die die Seite liefert.
ALLOW-FROM originVeraltet-
Dies ist eine veraltete Direktive. Moderne Browser, die Antwort-Header mit dieser Direktive vorfinden, werden den Header vollständig ignorieren. Der
Content-Security-PolicyHTTP-Header hat eineframe-ancestorsDirektive, 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 erzwungen, wie in den folgenden Beispielen gezeigt.
Apache konfigurieren
Um Apache zu konfigurieren, den X-Frame-Options Header für alle Seiten zu senden, fügen Sie dies zur Konfiguration Ihrer Website hinzu:
Header always set X-Frame-Options "SAMEORIGIN"
Um Apache zu konfigurieren, X-Frame-Options auf DENY zu setzen, fügen Sie dies zur Konfiguration Ihrer Website hinzu:
Header set X-Frame-Options "DENY"
Nginx konfigurieren
Um Nginx zu konfigurieren, den X-Frame-Options Header zu senden, fügen Sie dies entweder 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;
IIS konfigurieren
Um IIS zu konfigurieren, den X-Frame-Options Header zu senden, fügen Sie dies der Web.config Datei Ihrer Website hinzu:
<system.webServer>
…
<httpProtocol>
<customHeaders>
<add name="X-Frame-Options" value="SAMEORIGIN" />
</customHeaders>
</httpProtocol>
…
</system.webServer>
Für weitere Informationen siehe den Microsoft Support-Artikel über die Konfiguration mit der IIS Manager Benutzeroberfläche.
HAProxy konfigurieren
Um HAProxy zu konfigurieren, den X-Frame-Options Header zu senden, 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
Express konfigurieren
Um X-Frame-Options auf SAMEORIGIN mit Helmet zu setzen, fügen Sie Folgendes zur Serverkonfiguration hinzu:
import helmet from "helmet";
const app = express();
app.use(
helmet({
xFrameOptions: { action: "sameorigin" },
}),
);
Spezifikationen
| Specification |
|---|
| HTML> # the-x-frame-options-header> |