残念なことに、コピーコンテンツは後を絶ちません。自分のブログが丸ごとコピーされて困った、という経験をされた方もいらっしゃるのではないでしょうか。
悪質なコピーサイトになると、文章などをコピーして利用するだけでなく、画像に直リンクして表示させています。直リンクとは、掲載されている他サーバーの画像に直接リンクして表示させることです。
通常画像を呼び出す時は、自分が利用しているサーバーに画像をアップロードして、HTMLで以下のように記述すると思います。
<img src="http://mydomain.com/images/image.jpg" />
直リンクというのは、自分が利用しているサーバーではなく、他のサーバーから直接呼び出す行為なのです。
<img src="http://otherdomain.com/images/image.jpg" />
コピー自体許されない行為ですが、コピーサイトに直リンクされてしまうと、コピーサイトにアクセスがある度に自分が利用しているサーバーの負荷が上がってしまいます。いいことは全くないですね。。。
そこで今回は、.htaccessを使って画像への直リンクを防ぐ方法を紹介したいと思います。
紹介する方法は、利用しているサーバーでmod_rewriteが使えることが条件となります。なので、まずはサーバーでmod_rewriteが利用可能かどうか確認しましょう。
.htaccessを使って他サイトから画像へ直リンクされるのを防ぐ
.htaccessに以下のようなコードを記述して、画像ディレクトリに配置します。
RewriteEngine on RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?mydomain.com [NC] RewriteRule .(gif|jpg|jpeg|png)$ - [F]
RewriteCondの「mydomain.com」の部分を自サイトのURLに変更してください。RewriteRuleの「gif|jpg|jpeg|png」の部分は、画像の拡張子なので、適宜追加・削除しましょう。ちなみに2行目のRewriteCondは、「参照元が空白の場合も許可する」という意味になります。
これだけで、他サイトで直リンクしても画像は表示されなくなります。自分のサイト以外から画像が呼び出されてもアクセスを拒否します。
.htaccessで直リンクを防ぐときの注意点
お気付きかもしれませんが、自分のサイト以外からの画像呼び出しを拒否してしまうと、検索エンジンのキャッシュとかRSSリーダーなどでも画像が表示できなくなってしまいます。
そこは割り切ってしまうか、直リンクを許可したいサイトをRewriteCondで追加して対応します。
RewriteEngine on RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !google\. [NC] RewriteCond %{HTTP_REFERER} !yahoo\. [NC] RewriteCond %{HTTP_REFERER} !bing\. [NC] RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?feedly.com [NC] RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?mydomain.com [NC] RewriteRule .(gif|jpg|jpeg|png)$ - [F]
上記では、Google・Yahoo・Bing・Feedlyを許可しています。このように直リンクを許可したいサイトを追加していけば、ある程度は対応できます。
直リンクされたことを逆手に取って対策する
有名なブログはパクリサイトのターゲットになりやすいですが、直リンクされたことを逆手に取って画像を差し替えるといったおもしろい対策を取っている方もいらっしゃいます。
以下の記事では、画像を差し替えることでパクリサイトを撃退した方法が書かれていますので、紹介したいと思います。
WEBクリエイターボックス
なんとパクリサイトを閉鎖にまで追い込みました。
無断転載パクリブログ事件のまとめ | Webクリエイターボックス
OZPAの表4
著作権侵害の申し立てもしっかりしています。画像ワロタwww
パクリサイトに記事を全文無断転載されたのでGoogleに著作権侵害を報告しつつ差し替え画像を用意して対策を講じてみた | OZPAの表4
あとがき
直リンクを完全に防ぎたい場合は.htaccessで拒否して、ちょっと遊びながらパクリサイトを撃退したい場合は画像差し替えで対策するといいですね。