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
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 eineframe-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:
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 er den X-Frame-Options
-Header sendet, 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 mit dem Wert DENY
setzen:
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:
<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:
import helmet from "helmet";
const app = express();
app.use(
helmet({
xFrameOptions: { action: "sameorigin" },
}),
);
Spezifikationen
Specification |
---|
HTML # the-x-frame-options-header |