Was ist X-Frame-Options?
X-Frame-Options ist ein HTTP-Header, mit dem ein Webserver dem Browser mitteilt, ob eine Seite innerhalb eines Frames auf einer anderen Website angezeigt werden darf. Er schützt vor Clickjacking, einem Angriff, bei dem eine fremde Seite die eigene unsichtbar überlagert und Besucher dazu bringt, unbemerkt auf Schaltflächen zu klicken.
Wie funktioniert X-Frame-Options?
Der Header kennt zwei gebräuchliche Werte. Mit „DENY“ darf die Seite in keinem Frame angezeigt werden, auch nicht auf der eigenen Website. Mit „SAMEORIGIN“ ist die Einbettung nur auf Seiten derselben Herkunft erlaubt, also derselben Domain. Ein früher vorgesehener Wert, mit dem einzelne fremde Domains erlaubt werden konnten, wird von aktuellen Browsern nicht mehr unterstützt. Gesetzt wird der Header in der Serverkonfiguration, etwa in der .htaccess. Alternativ setzt ihn die Anwendung selbst.
X-Frame-Options in der Praxis
Für Onlineshops und Websites mit Anmeldebereich gehört ein Schutz gegen Clickjacking zur Grundausstattung, besonders für Konto, Checkout und Administration. Viele Shopsysteme setzen den Header bereits. Probleme entstehen, wenn Seiten bewusst eingebettet werden sollen, etwa ein Formular auf einer Partnerseite oder eine Vorschau in einem Editor. Dann muss gezielt erlaubt werden, wer einbetten darf. Moderne Browser werten dafür bevorzugt die Anweisung frame-ancestors aus der Content Security Policy aus, die feiner steuerbar ist. Sicherheits-Header wie dieser werden bei uns im Rahmen der Betreuung und Wartung regelmäßig geprüft.
Abgrenzung zu verwandten Begriffen
X-Frame-Options schützt vor Clickjacking, nicht vor dem Einschleusen von Skripten. Dagegen richtet sich der Schutz vor XSS, unter anderem über die Content Security Policy. Der X-Robots-Tag ist ebenfalls ein HTTP-Header, steuert aber das Verhalten von Suchmaschinen.