X-Frame-Options header
Hinweis:
Für umfassendere Optionen als die, die von diesem 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 das Dokument in einem <frame>, <iframe>, <embed> oder <object> rendern darf. Websites können dies nutzen, um Clickjacking Angriffe und einige Cross-Site Leaks zu vermeiden, indem sie sicherstellen, dass ihre Inhalte nicht in andere Seiten eingebettet werden.
Wenn dieser Header nicht gesendet wird und die Website keine anderen Mechanismen zur Einschränkung des Einbettens implementiert hat (wie die frame-ancestors CSP-Direktive), dann erlaubt der Browser anderen Seiten, dieses Dokument einzubetten.
| Header-Typ | Antwort-Header |
|---|
Syntax
X-Frame-Options: DENY
X-Frame-Options: SAMEORIGIN
Direktiven
DENY-
Das Dokument kann in keinem Rahmen geladen werden, unabhängig von der Herkunft (sowohl gleich- als auch herkunftsübergreifendes Einbetten wird blockiert).
SAMEORIGIN-
Das Dokument kann nur eingebettet werden, wenn alle übergeordneten Rahmen dieselbe Herkunft wie die Seite selbst haben.
ALLOW-FROM origin-
Dies ist eine veraltete Direktive. Moderne Browser ignorieren Kopfzeilen mit dieser Direktive vollständig. 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 durchgesetzt, wie in den Beispielen unten 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 zur http-, Server- oder Standortkonfiguration hinzu:
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;
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>
Für weitere Informationen siehe den 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 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 auf SAMEORIGIN zu setzen, verwenden Sie Helmet und fügen folgendes zur Serverkonfiguration hinzu:
import helmet from "helmet";
const app = express();
app.use(
helmet({
xFrameOptions: { action: "sameorigin" },
}),
);
Spezifikationen
| Spezifikation |
|---|
| HTML> # the-x-frame-options-header> |