画像の直リンクを.htaccessで禁止してついでに代替画像を表示

.htaccessで画像の直リンクを禁止するついでに代替え画像を表示する簡単な設定方法

 

一昔前は、サーバーの容量や転送量などに制限があり画像などの読み込みに、とても神経を使っていた・・・と言います!

最近で問題になるのは、パクリブログの存在です。
RSS配信などを利用してブログ記事を丸っとパクって公開している、ウ●コの様な奴らです。ついでに画像まで直リンクされてしまうとコチラのサイトまで重くなってしまう!

RSS配信対策については、過去記事が役に立つかも!
WordPressのRSSフィードの抜粋文字数を調整する方法について困ったので調べてみた

今回は、画像の直リンクを防ぐ方法を考えてみた!

 

.htaccessを利用する

こんな不毛な作業は、サックと終わらせましょう!
.htaccessを活用します!

.htaccess

.htaccessは、ApacheなどのWebサーバで使用し、Webサーバの動作を制御するためのファイルです。WEB制作にはとても重要なファイルですね。

そんな.htaccessを使って画像の直リンクを防いでやります

具体的な記述方法

具体的な.htaccessの記述方法

#Stop link image

RewriteEngine On
RewriteBase /wp-content/uploads/

RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://example.com/ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.example.com/ [NC]

RewriteRule ^(.*)\.(gif|jpg|png)$ not/stopimg.jpg [L]

上記の記述がある.htaccessを直リンクされたくない画像があるディレクトリに保存して下さい。ワードプレスなら「/wp-content/uploads/」のディレクトリになると思います。

ぷろめしの場合、画像を直接リンクすると下記の画像が出てきますw

画像の直リンクを.htaccessで防ぎついでに代替画像を表示する

続いて要素の解説をしていきましょう。

.htaccessの記述内容を解説

難しい部分は殆ど無いのでササッと解説します。

コメント

#Stop link image

コメントです。無くても大丈夫!

直リンクを拒否したいディレクトリを指定

RewriteEngine On
RewriteBase /wp-content/uploads/

RewriteEngineには、onとoffがありますのでonにしましょう。
そして、RewriteBaseには、直リンクされたくない画像があるディレクトリを設定

表示を許可するドメインを指定

RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://example.com/ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.example.com/ [NC]

一行目は、リファラがブランクの場合は表示
二行目は、リファラが指定のURLだと表示
三行目は、wwwの場合も考慮して追加

表示を許可するURL(ドメイン)を指定しています。

サイトが複数ある場合は、URLの指定を増やしていきましょう。「http://www.example.com/」はダミーURLなので自分のサイトのURLに書き換えてください。

直リンクを拒否する拡張子と切替画像の指定

RewriteRule ^(.*)\.(gif|jpg|png)$ not/stopimg.jpg [L]

この行が最も大切です。
/wp-content/uploads/のディレクトリにあるgif/jpg/pngの画像ファイルにアクセスしたらnot/stopimg.jpgに書き換える。

表示を許可していないドメインからアクセスがあると指定画像に書き換えます

 

まとめて説明すると・・・

リファラに何もないか自分のサイトだったら画像を表示して、
もしそうでないなら画像のURLを書き換えて
http://(www.)example.com/wp-content/uploads/not/stopimg.jpgを表示させる。

これが直リンクの防止策です(`・ω・´)ゞ
試しに、ぷろめしの画像を自分のサイトで表示してみよう!専用の画像が出てきますよw

投稿日: 2012/04/11
最終更新日: 2015/12/29
 
筆者のご紹介
角政典@moreiic
真性のお家大好きフリーランスです。プログラムよりご飯の方が断然好き!博多出身のデブデザイナー。インドアだけど遊んでくれる人募集中!
よく検索されてる記事