X-Frame-Options ist ein HTTP-Response-Header, der festlegt, ob eine Website in einem iframe eingebettet werden darf. Er ist die klassische Verteidigung gegen Clickjacking (auch UI-Redressing genannt): Dabei bettet ein Angreifer die Opfer-Seite transparent in einen iframe ein und legt unsichtbare, manipulierte Buttons darüber, um Nutzer zu ungewollten Klicks zu verleiten — etwa auf „Gefällt mir"-Schaltflächen oder Formular-Absenden.
Die Werte
DENY: Die Seite darf in keinem Frame erscheinen — auch nicht in der eigenen.SAMEORIGIN: Die Seite darf nur in Frames derselben Origin eingebettet werden.ALLOW-FROM: War für eine Origin-Whitelist gedacht, ist aber obsolet und wird von allen modernen Browsern ignoriert.
Moderner Ersatz: CSP frame-ancestors
Die Content-Security-Policy-Direktive frame-ancestors ist der Nachfolger: Sie erlaubt feinere Kontrolle mit mehreren Origins und wird von modernen Browsern bevorzugt. Die bewährte Praxis ist, beide Header zu setzen — X-Frame-Options für ältere Browser, frame-ancestors für moderne. Wird frame-ancestors ausgeliefert, ignorieren aktuelle Browser X-Frame-Options.
Der Schutz greift an der Grenze der Same-Origin-Policy: Fremde Origins dürfen die Seite nicht in ihrem Dokument einbetten. Ergänzend verhindern CSRF-Schutzmechanismen und strikte Cookie-Einstellungen weitere Angriffswege auf die Sitzung.