Ich implementiere ein "Pass-Through" X-Frame-Options
, damit eine Partner-Site die Site meines Arbeitgebers in einen Iframe einschließt, wie in diesem Artikel beschrieben: http://blogs.msdn.com/b/ieinternals/archive/2010/03/30 /combating-clickjacking-with-x-frame-options.aspx
(Aufteilen von URLs zum Posten)
Kurz gesagt, die Seite unseres Partners enthält einen Iframe mit einer URL für unsere Domain. Für jede Seite in unserer Domain wird ein spezielles URL-Argument hinzugefügt &@mykey=topleveldomain.com
, das uns die Top-Level-Domain der Seite angibt.
Unsere Filter nehmen die Partner-TLD, falls angegeben, von der URL auf und validieren sie anhand einer Whitelist. Wenn es auf der Liste steht, versenden wir den X-Frame-Options
Header mit Wert ALLOW-FROM topleveldomain.com
(und fügen ein Cookie für zukünftige Klicks hinzu). Wenn es nicht auf unserer Whitelist steht, versenden wir SAMEORIGIN
oder DENY
.
Das Problem ist, dass es so aussieht, als würde das Senden von ALLOW-FROM domain
Ergebnissen für die neuesten Versionen von Firefox und Google Chrome insgesamt zu einem No-Op führen. Zumindest IE8 scheint korrekt implementiert zu sein ALLOW-FROM
.
Schauen Sie sich diese Seite an: http://www.enhanceie.com/test/clickjack . Direkt nach dem 5. (von 5) Feld, in dem "Inhalt angezeigt werden soll", befindet sich ein Feld, in dem KEIN Inhalt angezeigt werden soll, das jedoch vorhanden ist. In diesem Fall sendet die Seite im Iframe X-Frame-Options: ALLOW-FROM http://www.debugtheweb.com
eine deutlich andere TLD als http://www.enhanceie.com
. Der Frame zeigt jedoch weiterhin Inhalte an.
Gibt es einen Einblick, ob dies X-Frame-Options
wirklich mit ALLOW-FROM
relevanten (Desktop-) Browsern implementiert ist? Vielleicht hat sich die Syntax geändert?
Einige interessante Links:
- Entwurf eines RFC für X-Frame-Optionen: http://tools.ietf.org/html/draft-gondrom-frame-options-01
- Der Artikel von developer.mozilla beschreibt den Header als Header mit zwei Optionen (sameorigin oder verweigern). https://developer.mozilla.org/en-US/docs/Web/HTTP/X-Frame-Options
- MSDN-Blog, der das Ganze initiiert hat: http://blogs.msdn.com/b/ie/archive/2009/01/27/ie8-security-part-vii-clickjacking-defenses.aspx
- msdn-Blog, in dem drei Werte behandelt werden: Hinzufügen des zulässigen Ursprungs http://blogs.msdn.com/b/ieinternals/archive/2010/03/30/combating-clickjacking-with-x-frame-options.aspx