web-dev-qa-db-ja.com

サーバーでX-FrameオプションをALLOW-FROM https://example.comおよびSAMEORIGINに設定する方法

サーバーレベルのX-Frameオプションを次のいずれかに設定する必要があります。

X-Frameオプションは相互に排他的であることを理解してください。 here を参照してください。

ただし、私のアプリケーションでは、https://example.comおよびその[〜#〜] sameorigin [〜#〜]

同じOriginでフレーミングを許可し、1外部サイト

それとも不可能ですか?

10
user3188291

ヘッダーの1つのインスタンスのみをサポートすることに加えて、X-Frame-Optionsは、SAMEORIGIN以外の1つのサイトのみをサポートします。

Content-Security-Policyframe-ancestorsを使用する必要があります。これらは、次のように複数のオリジンをサポートします。

Content-Security-Policy: frame-ancestors 'self' https://example.com

覚えておくべきいくつかのメモ:

  • frame-ancestors廃止X-Frame-Options -frame-ancestorsが存在し、ブラウザがサポートしている場合、X-Frame-Optionsの動作をオーバーライドすることを意味します。
  • Internet ExplorerとEdgeは現在、frame-ancestorsディレクティブ、 MDNによる をサポートしていません。これは、それらがX-Frame-Optionsにフォールバックすることを意味します。 IEまたはEdgeで複数のオリジンをサポートする必要がある場合は、 回避策についてSOのこの回答を参照してください
23

同様の要件があり、global.asaxで処理しました。要求の送信元からチェックし、それに基づいてヘッダー値をsameoriginまたはallow-fromに変更しました。それが役立つことを願っています。

0
dheeraj ahuja