外部サイトから自サイトのページがインラインフレームで表示されるのを拒否する
インラインフレーム(iframe)と参照元についてにあるように、自サイトのページが他サイトにインラインフレーム(iframe)で読み込まれた場合、参照元はそのサイト(他サイト)となります。
また、GoogleAnalyticsなどのアクセス数計測のjavascriptも動作してしまうので、特別な理由がない場合はインラインフレームで自サイトのページを読み込まれるのは避けたいところです。
インラインフレームでの読み込みを拒否する方法
この場合、「X-Frame-Options HTTP レスポンスヘッダ」を利用すれば他サイトからインラインフレーム読み込みを拒否できます。
X-Frame-Options HTTP レスポンスヘッダは、ブラウザがページを <frame> または <iframe> の内部に表示することを許可するかを示すことができます。サイトはこのレスポンスヘッダを、クリックジャッキング攻撃を防止するために使用することができます。これは、自分のサイトのコンテンツが他のサイトに埋め込まれないと保証することによります。
使い方はとっても簡単で、設定ファイル「.htaccess」に以下を記述するだけです(サーバーがApacheの場合)。
-
Header always append X-Frame-Options DENY 自サイトのページを、いかなるサイトにもインラインフレームで読み込ませない
-
Header always append X-Frame-Options SAMEORIGIN 自サイトのページを、自サイト以外のサイトにはインラインフレームで読み込ませない
-
Header always append X-Frame-Options ALLOW-FROM uri 自サイトのページを、指定したURIにだけインラインフレームで読み込み許可する(その他は拒否)
ブラウザでの表示
これでインラインフレームでのページ読み込みを拒否できます。
なお、拒否されたサイトのページ(のインラインフレーム内)は以下のようになります(ブラウザごと)。
- Firefox:ブランク(何も表示されない)
- Chrome:ブランク
- IE:以下のエラー文が表示される
このコンテンツはフレーム内で表示できません
この Web サイトに入力する情報のセキュリティを保護するため、このコンテンツの発行者はフレーム内での表示を許可していません。
あわせて読んでほしい!
コメント
まだコメントはありません。