ホットリンクを防ぐ方法

ホットリンク、ホットリンキングというのは、他のサイトの画像をそのままソース元したリンクのことです(必ずしも画像とは限りませんが)。

直リンクともいいます。

たとえば、僕がこのブログに「suzuki-logo.jpg」という画像を、

<img src="/images/suzuki-logo.jpg" / >

というタグで表示していたとします。

他のサイトの管理者がこの画像を自分のサイトに掲載するときに、

<img src="//www.suzukikenichi.com/images/suzuki-logo.jpg" / >

と記述すると自分のサーバーに保存した画像ではなく、僕のサーバーに保存されている画像を直接呼び出すことができます。

勝手に画像を利用されていることも問題なのですが、このサイトに誰かがアクセスするたびに、僕のサーバーにも画像データを表示するための通信が発生します。

サーバーに余計な負荷がかかりますし、ネットワークの帯域もムダに消費されてしまいます。

さほど気にするほどではないかもしれませんが、気持ちのいいものではありません。

ホットリンクは、.htaccessで禁止することができます。

以下のように記述してください。

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://example.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.example.com.*$ [NC]
RewriteRule .(gif|jpg|png)$ - [F]

※example.comは、自分のドメインに置き換えます。
※Apacheの場合です。IISは分かりません。

このように記述しておくと、GIF、JPG、PNGファイルが他サイトから呼び出されたときには、アクセス禁止のステータスコード(403 Forbidden)を返します。

wwwありとwwwなしの統一index.htmlありとindex.htmlなしの統一とともに、サイトの立ち上げ時に設定しておくといいでしょう。