Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

X-Frame-Options header

Baseline
Weitgehend verfügbar

Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Juli 2015 browserübergreifend verfügbar.

Hinweis: Umfassendere Möglichkeiten als dieser Header bietet die Direktive frame-ancestors in einem Content-Security-Policy-Header.

Der HTTP-Response-Header X-Frame-Options gibt an, ob ein Browser das Dokument in einem <frame>, <iframe>, <embed> oder <object> darstellen darf. Websites können damit Clickjacking-Angriffe und bestimmte Cross-Site-Leaks verhindern, 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 (etwa die CSP-Direktive frame-ancestors), erlaubt der Browser anderen Websites, das Dokument einzubetten.

Header-Typ Response-Header

Syntax

http
X-Frame-Options: DENY
X-Frame-Options: SAMEORIGIN

Direktiven

DENY

Das Dokument kann unabhängig vom Ursprung in keinem Frame geladen werden. Sowohl die Einbettung mit gleichem als auch mit anderem Ursprung wird blockiert.

SAMEORIGIN

Das Dokument kann nur eingebettet werden, wenn alle übergeordneten Frames denselben Ursprung wie die Seite selbst haben.

ALLOW-FROM origin

Diese Direktive ist veraltet. Moderne Browser ignorieren Response-Header mit dieser Direktive vollständig. Verwenden Sie stattdessen die Direktive frame-ancestors des HTTP-Headers Content-Security-Policy.

Beispiele

Warnung: Das Festlegen von X-Frame-Options innerhalb des Elements <meta> (z. B. <meta http-equiv="X-Frame-Options" content="deny">) hat keine Wirkung. X-Frame-Options wird nur über HTTP-Header durchgesetzt, wie die folgenden Beispiele zeigen.

Apache konfigurieren

Damit Apache den Header X-Frame-Options für alle Seiten sendet, fügen Sie Folgendes zur Konfiguration Ihrer Website hinzu:

apacheconf
Header always set X-Frame-Options "SAMEORIGIN"

Damit Apache X-Frame-Options auf DENY setzt, fügen Sie Folgendes zur Konfiguration Ihrer Website hinzu:

apacheconf
Header set X-Frame-Options "DENY"

Nginx konfigurieren

Damit Nginx den Header X-Frame-Options sendet, fügen Sie Folgendes zu Ihrer http-, server- oder location-Konfiguration hinzu:

nginx
add_header X-Frame-Options SAMEORIGIN always;

Sie können den Header X-Frame-Options wie folgt auf DENY setzen:

nginx
add_header X-Frame-Options DENY always;

IIS konfigurieren

Damit IIS den Header X-Frame-Options sendet, fügen Sie Folgendes zur Datei Web.config Ihrer Website hinzu:

xml
<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

Damit HAProxy den Header X-Frame-Options sendet, fügen Sie Folgendes zu Ihrer Frontend-, Listen- oder Backend-Konfiguration hinzu:

rspadd X-Frame-Options:\ SAMEORIGIN

In neueren Versionen können Sie alternativ Folgendes verwenden:

http-response set-header X-Frame-Options SAMEORIGIN

Express konfigurieren

Um X-Frame-Options mithilfe von Helmet auf SAMEORIGIN zu setzen, fügen Sie Folgendes zu Ihrer Serverkonfiguration hinzu:

js
import helmet from "helmet";

const app = express();
app.use(
  helmet({
    xFrameOptions: { action: "sameorigin" },
  }),
);

Spezifikationen

Spezifikation
HTML
# the-x-frame-options-header

Browser-Kompatibilität

Siehe auch