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

Hinweis: Für umfassendere Optionen als die durch diesen Header angebotenen, siehe die frame-ancestors Direktive in einem Content-Security-Policy Header.

Der HTTP X-Frame-Options Antwort-Header kann verwendet werden um anzuzeigen, 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 Sites eingebettet werden.

Wird dieser Header nicht gesendet und hat die Website keine anderen Mechanismen zur Einschränkung des Einbettens implementiert (wie die frame-ancestors CSP-Direktive), wird der Browser anderen Sites erlauben, dieses Dokument einzubetten.

Header-Typ Antwort-Header

Syntax

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

Direktiven

DENY

Das Dokument kann in keinem Frame geladen werden, unabhängig von der Herkunft (sowohl das Einbetten aus gleicher als auch aus fremder Herkunft wird blockiert).

SAMEORIGIN

Das Dokument kann nur eingebettet werden, wenn alle Vorfahren-Frames die gleiche Herkunft wie die Seite selbst haben.

ALLOW-FROM origin Veraltet

Dies ist eine veraltete Direktive. Moderne Browser, die Antwort-Header mit dieser Direktive vorfinden, werden den Header vollständig ignorieren. Der Content-Security-Policy HTTP-Header hat eine frame-ancestors Direktive, 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 untenstehenden Beispielen angezeigt.

Apache konfigurieren

Um Apache so zu konfigurieren, dass es den X-Frame-Options Header für alle Seiten sendet, fügen Sie dies zur Konfiguration Ihrer Website hinzu:

apacheconf
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:

apacheconf
Header set X-Frame-Options "DENY"

Nginx konfigurieren

Um Nginx so zu konfigurieren, dass der X-Frame-Options Header gesendet wird, fügen Sie dies entweder der http-, server-, oder location-Konfiguration hinzu:

nginx
add_header X-Frame-Options SAMEORIGIN always;

Sie können den X-Frame-Options Header auf DENY setzen, indem Sie:

nginx
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 dies zu Ihrer Web.config Datei hinzu:

xml
<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 Einstellung dieser Konfiguration über die IIS-Manager Benutzeroberfläche.

HAProxy konfigurieren

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

Express konfigurieren

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

js
import helmet from "helmet";

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

Spezifikationen

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

Browser-Kompatibilität

Siehe auch