サーバーレベルのX-Frameオプションを次のいずれかに設定する必要があります。
- Xフレームオプション:SAMEORIGIN
- X-Frame-Options:ALLOW-FROM https://example.com/
X-Frameオプションは相互に排他的であることを理解してください。 here を参照してください。
ただし、私のアプリケーションでは、https://example.comおよびその[〜#〜] sameorigin [〜#〜]。
同じOriginでフレーミングを許可し、1外部サイト。
それとも不可能ですか?
ヘッダーの1つのインスタンスのみをサポートすることに加えて、X-Frame-Options
は、SAMEORIGIN
以外の1つのサイトのみをサポートします。
Content-Security-Policy
とframe-ancestors
を使用する必要があります。これらは、次のように複数のオリジンをサポートします。
Content-Security-Policy: frame-ancestors 'self' https://example.com
覚えておくべきいくつかのメモ:
frame-ancestors
廃止X-Frame-Options
-frame-ancestors
が存在し、ブラウザがサポートしている場合、X-Frame-Options
の動作をオーバーライドすることを意味します。frame-ancestors
ディレクティブ、 MDNによる をサポートしていません。これは、それらがX-Frame-Options
にフォールバックすることを意味します。 IEまたはEdgeで複数のオリジンをサポートする必要がある場合は、 回避策についてSOのこの回答を参照してください 。同様の要件があり、global.asaxで処理しました。要求の送信元からチェックし、それに基づいてヘッダー値をsameoriginまたはallow-fromに変更しました。それが役立つことを願っています。