インラインフレーム(iframe)と参照元について
インラインフレームを使えば、あるページに別のページを表示させることができます。
このとき、
- インラインフレーム内にあるリンクをクリックして別サイトにアクセスした場合、参照元(リファラ)はどうなるのか?
- インラインフレームで他サイトのページを表示させた場合、参照元はどうなるのか?
が気になったので実験してみました。
インラインフレームとは?
まずインラインフレームについてですが、任意のページ(A)に
<iframe src="B.html" height="300" width="300"></iframe>
のようにiframeタグを設置すると、Aページの幅300px 高さ300px のフレーム内にBページ(「B.html」)の内容を表示させることができます。
インラインフレーム内のリンクからアクセスした場合の参照元
インラインフレーム内のリンクから別サイトにアクセスした場合、参照元はどうなるのか調べてみました。
結論から言うと、AページにBページの内容をインラインフレームで読込み、Bページのリンクをクリックすると、参照元はBページとなります。
詳細
【Aページ】
AページにBページを読み込むインラインフレームを設置します。
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title> インラインフレームを設置するページ </title> </head> <iframe src="B.html" height="300" width="300"></iframe> </html>
【Bページ】
Bページに、Cサイトへのリンクを設置します。
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title> インラインフレームで読み込まれるページ </title> </head> <a href="CサイトのURL" target="_blank">Cサイトへのリンク</a> </html>
このとき、Aページを表示させ、インラインフレーム内の「Cサイトへのリンク」をクリックすると、Cサイトでは参照元は「BページのURL」となります。
インラインフレームで他サイトのページを表示させた場合の参照元
インラインフレームで他サイト(C)のページをAページに表示させた場合、Cサイトのサーバーは参照元をどのように識別するのか実験しました。
結果は、参照元はAページとなりました。
詳細
【Aページ】
Aページに、Cサイトのページをインラインフレームで読み込みます。
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title> インラインフレームを設置するページ </title> </head><br /><iframe src="CサイトのページのURL"></iframe><br /></html>
このとき、Cサイトのサーバーは参照元をAページと認識します。
備考
まとめブログの世界でインラインフレームを使って相互サイトやアンテナサイトに意味をなさないアクセスを送る不正があると聞いたことがありますが、いかんせんインラインフレームなどは過去数回しか使ったことがないのでその意味がわかりませんでした。
しかし今回の勉強でその仕組みが分かりました。
あわせて読んでほしい!
コメント
まだコメントはありません。