81

X-Frame-Optionsこの記事に従って、パートナー サイトが雇用主のサイトを iframe でラップできるようにするための「パススルー」を実装しています: http://blogs.msdn.com/b/ieinternals/archive/2010/03/30 /combating-clickjacking-with-x-frame-options.aspx

(投稿する URL を分割)

簡単に言えば、パートナーのページには、ドメインに対する URL を含む iframe があります。ドメイン内のどのページにも、 のような特別な url 引数が追加され&@mykey=topleveldomain.com、ページのトップ レベル ドメインが何であるかが示されます。

当社のフィルターは、提供されている場合はパートナー TLD を URL から取得し、ホワイトリストに対して検証します。リストにある場合は、X-Frame-Optionsヘッダーに値を付けて送信しますALLOW-FROM topleveldomain.com(そして、今後のクリックのために Cookie を追加します)。SAMEORIGINホワイトリストにない場合は、またはを発送しDENYます。

ALLOW-FROM domain問題は、最新の Firefox と Google Chrome では、結果の送信が全体的にノーオペレーションのように見えることです。IE8 は、少なくとも、正しく実装しているようALLOW-FROMです。

このページをチェックしてください: http://www.enhanceie.com/test/clickjack . 「コンテンツを表示する必要がある」5 つ目 (5 つのうち) のボックスの直後は、コンテンツを表示するべきではないボックスですが、実際に表示されているボックスです。この場合、iframe 内のページは、 とX-Frame-Options: ALLOW-FROM http://www.debugtheweb.comは明らかに異なる TLDを送信していますhttp://www.enhanceie.com。それでも、フレームにはコンテンツが表示されます。

関連する(デスクトップ)ブラウザ全体X-Frame-Optionsで本当に実装されているかどうかについての洞察はありますか? ALLOW-FROMおそらく構文が変更されましたか?

興味深いリンク:

4

3 に答える 3

44

ALLOW-FROM は、Chrome または Safari ではサポートされていません。MDN の記事を参照してください: https://developer.mozilla.org/en-US/docs/Web/HTTP/X-Frame-Options

カスタム ヘッダーを作成して正しいデータで送信する作業は既に行っていますが、有効なパートナーからのものであることを検出したときにヘッダーを除外し、他のすべての要求に DENY を追加することはできませんか? 既に動的にロジックを構築している場合、AllowFrom の利点がわかりませんか?

于 2013-02-15T11:39:55.383 に答える
24

私はこの質問を投稿しましたが、フィードバックを見たことはありません(数か月後に届いたようです:)。

Kinlan が述べたように、ALLOW-FROM は X-Frame-Options 値としてすべてのブラウザーでサポートされているわけではありません。

解決策は、ブラウザーの種類に基づいて分岐することでした。IE の場合、X-Frame-Optionsを同梱します。それ以外の場合は、X-Content-Security-Policy を出荷してください。

これがお役に立てば幸いです。ループを閉じるのに時間がかかって申し訳ありません!

于 2013-10-04T20:23:18.257 に答える