X-Frame-Options header
Hinweis:
Umfangreichere Optionen als die von diesem Header angebotenen finden Sie in der Direktive frame-ancestors eines Content-Security-Policy-Headers.
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 zur Einschränkung der Einbettung implementiert hat (wie etwa die CSP-Direktive frame-ancestors), erlaubt 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 unabhängig von der Origin in keinem Frame geladen werden (sowohl Same-Origin- als auch Cross-Origin-Einbettungen werden blockiert).
SAMEORIGIN-
Das Dokument kann nur eingebettet werden, wenn alle übergeordneten Frames dieselbe Origin wie die Seite selbst haben.
ALLOW-FROM origin-
Dies ist eine veraltete Direktive. Moderne Browser, die Antwort-Header mit dieser Direktive vorfinden, ignorieren den Header vollständig. Der HTTP-Header
Content-Security-Policyverfügt über eine Direktiveframe-ancestors, 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.
Apache konfigurieren
Um Apache so zu konfigurieren, dass der X-Frame-Options-Header für alle Seiten gesendet wird, fügen Sie Folgendes 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 Folgendes zur Konfiguration Ihrer Website hinzu:
Header set X-Frame-Options "DENY"
Nginx konfigurieren
Um Nginx so zu konfigurieren, dass der X-Frame-Options-Header gesendet wird, fügen Sie Folgendes entweder zu Ihrer http-, server- oder location-Konfiguration hinzu:
add_header X-Frame-Options SAMEORIGIN always;
Sie können den X-Frame-Options-Header mit Folgendem auf DENY setzen:
add_header X-Frame-Options DENY always;
IIS konfigurieren
Um IIS so zu konfigurieren, dass der X-Frame-Options-Header gesendet wird, fügen Sie Folgendes zur Datei Web.config 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 zum Festlegen dieser Konfiguration über die Benutzeroberfläche des IIS-Managers.
HAProxy konfigurieren
Um HAProxy so zu konfigurieren, dass der X-Frame-Options-Header gesendet wird, fügen Sie Folgendes zu Ihrer Frontend-, Listen- oder Backend-Konfiguration hinzu:
rspadd X-Frame-Options:\ SAMEORIGIN
Alternativ dazu in neueren Versionen:
http-response set-header X-Frame-Options SAMEORIGIN
Express konfigurieren
Um X-Frame-Options mit Helmet auf SAMEORIGIN 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> |