X-Frame-Options header
Hinweis:
Für umfassendere Optionen als die, die dieser Header bietet, schauen Sie sich die frame-ancestors Direktive im Content-Security-Policy Header an.
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 verwenden, um Clickjacking-Angriffe und einige Cross-Site Leaks zu vermeiden, indem sie sicherstellen, dass ihre Inhalte nicht in andere Websites eingebettet werden.
Wenn dieser Header nicht gesendet wird und die Website keine anderen Mechanismen implementiert hat, um das Einbetten einzuschränken (wie die frame-ancestors CSP-Direktive), dann ermöglicht der Browser anderen Websites, dieses Dokument einzubetten.
| Header-Typ | Antwort-Header |
|---|
Syntax
X-Frame-Options: DENY
X-Frame-Options: SAMEORIGIN
Direktiven
DENY-
Das Dokument kann in keinem Frame geladen werden, unabhängig von der Herkunft (sowohl gleichartige als auch übergreifende Einbettung wird blockiert).
SAMEORIGIN-
Das Dokument kann nur eingebettet werden, wenn alle übergeordneten Frames denselben Ursprung wie die Seite selbst haben.
ALLOW-FROM originVeraltet-
Dies ist eine veraltete Direktive. Moderne Browser, die Antwort-Header mit dieser Direktive finden, ignorieren den Header komplett. Der
Content-Security-PolicyHTTP-Header hat eineframe-ancestorsDirektive, die stattdessen verwendet werden sollte.
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 unten stehenden Beispielen gezeigt.
Konfiguration von Apache
Um Apache zu konfigurieren, den X-Frame-Options Header für alle Seiten zu senden, fügen Sie dies zu Ihrer Website-Konfiguration hinzu:
Header always set X-Frame-Options "SAMEORIGIN"
Um Apache zu konfigurieren, X-Frame-Options auf DENY zu setzen, fügen Sie dies zu Ihrer Website-Konfiguration hinzu:
Header set X-Frame-Options "DENY"
Konfiguration von Nginx
Um Nginx zu konfigurieren, den X-Frame-Options Header zu senden, fügen Sie dies entweder zu Ihrer http-, Server- oder Standortkonfiguration 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 zu konfigurieren, den X-Frame-Options Header zu senden, 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 sehen Sie den Microsoft Supportartikel über das Setzen dieser Konfiguration mit der IIS Manager Benutzeroberfläche.
Konfiguration von HAProxy
Um HAProxy zu konfigurieren, den X-Frame-Options Header zu senden, fügen Sie dies zu 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 mit Helmet zu setzen, fügen Sie Folgendes zu Ihrer Serverkonfiguration hinzu:
import helmet from "helmet";
const app = express();
app.use(
helmet({
xFrameOptions: { action: "sameorigin" },
}),
);
Spezifikationen
| Spezifikation |
|---|
| HTML> # the-x-frame-options-header> |