web-dev-qa-db-ja.com

ApacheのX-Frame-Options

特定のドメインがiframe経由でサイトにアクセスできるようにしようとしています

Header set X-Frame-Options ALLOW-FROM https://www.that-site.com

これは、Apacheサーバーの設定に上記の行を追加することで実行できることを知っています。

ここで2つの質問。

1)どの構成ファイルに追加する必要がありますか? UnixとWindowsの両方で実行されているApache(同じファイルでない場合)

2)all-fromを有効にしながら、自分のドメインからiframeを実行できるようにします。 allow-fromの後に次の行を追加できますか?

 Header set X-Frame-Options SAMEORIGIN

または、自分のドメインをall-fromに追加する必要があります。つまり、

 Header set X-Frame-Options ALLOW-FROM https://www.that-site.com, http://www.my-own-domain.com

本当にこれを解決する必要があります。前もって感謝します

27
user1619397
  1. .htaccesshttpd.conf、またはVirtualHostセクションに追加できます
  2. Header set X-Frame-Options SAMEORIGINこれが最適なオプションです

Allow from URIはすべてのブラウザでサポートされているわけではありません。参照: MDNのX-Frame-Options

31
Chakri

エラー応答のX-Frame-Optionsヘッダー を参照してください

次の行を.htaccessに追加するだけです

Header always unset X-Frame-Options
22
Martin

これはすべてのブラウザでうまくいきました:

  1. すべてのJavaScriptで1つのページを作成しました
  2. 同じサーバー上に2番目のページを作成し、objectタグを使用して最初のページを埋め込みました。
  3. サードパーティのサイトでは、Objectタグを使用して2ページ目を埋め込みました。
  4. 元のサーバーのpublic_htmlフォルダーに.htaccessファイルを作成し、Header unset X-Frame-Optionsをその中に入れます。
1
VirtualProzac

Httpdサーバー内のアプリケーションに「X-Frame-Optionsヘッダーが存在し、値がある場合はそのままにして、それ以外の場合はヘッダーX-Frame-Options:SAMEORIGINを追加する」などのルールがある場合、httpd.conf 「Header always unset X-Frame-Options」のようなmod_headersルールでは十分ではありません。 SAMEORIGIN値は常にクライアントに到達します。

これを改善するために、1つではなく2つのmod_headersルールを(最も外側のhttpd.confファイルに)追加します。

Header set X-Frame-Options ALLOW-FROM http://to.be.deleted.com early
Header unset X-Frame-Options

最初のルールは、他のエージェントがクリックジャック防止の責任を負い、世界を救おうとする試みをスキップできることを内部要求ハンドラーに伝えます。 「初期」処理で実行されます。 2番目のルールは、完全に不要なX-Frame-Optionsヘッダーを取り除きます。 「後期」処理で実行されます。

また、適切なContent-Security-Policyヘッダーを追加して、世界が保護されたままで、信頼できるサイトからのマルチソースのJavascriptが実行されるようにします。

1
Lonnie