自分のサイトがフレームで他サイトに読み込まれるのを防ぐ

この記事は約2分で読めます。
記事内に広告が含まれています

イメージ

こんにちは、さち です。

今回は、自分のサイトが
フレーム(iframe)で他サイトに読み込まれるのを防ぐ方法
について書いていきます。

スポンサーリンク

フレームでの読み込みを防ぐ

JavaScript を使って防ぎましょう。記述はたった一行です。

if(top != self) top.location = self.location;

これで、自分のサイトがフレーム経由で他サイトに表示されるのを防ぎ
さらに、自分のサイトを単独で開き直してくれます。

HTML に直接記述する場合は <script> タグで囲みましょう。
例えば、<head> 部分に書く場合はこんな感じ。

<head>
  <script>
    if(top != self) top.location = self.location;
  </script>
</head>

 

JavaScript でやっていること

たった1行の JavaScript は一体何をしているのか?
簡単にどんな動作をしているのか見てみましょう。

例えば、「aaa.com」が <iframe> タグを使い「bbb.com」を表示しています。
「aaa.com」が自作したのは上部の一部だけで
ほぼ「bbb.com」のコンテンツに頼りきった状態です。
イメージ

ここで、「bbb.com」が先ほどの JavaScript を記述します。
JavaScript にある「top」は <iframe> の親「aaa.com」のことで
「self」は自分自身なので「bbb.com」のことです。
イメージ

「top」と「self」の URL が一致しない時は
「top」の URL を「self」の URL で置き換えます。
つまり、「bbb.com」がフレーム(iframe)で表示されたら
そのフレームを破棄して単独で「bbb.com」を開き直します。

当然ながら、この方法
閲覧者が JavaScript をオフにしている場合は効きません。
最近は JavaScript がオンでないとまともに見られないサイトも多いので
そういう人は少ない気がしますけどね。

【参考サイト】

→ フレーム内に表示されるのを防ぐ方法 - All About
→ フレームで呼び出されるのを拒否したい - 教えて!goo

コメント

タイトルとURLをコピーしました