一昔前は、サーバーの容量や転送量などに制限があり画像などの読み込みに、とても神経を使っていた・・・と言います!
最近で問題になるのは、パクリブログの存在です。
RSS配信などを利用してブログ記事を丸っとパクって公開している、ウ●コの様な奴らです。ついでに画像まで直リンクされてしまうとコチラのサイトまで重くなってしまう!
RSS配信対策については、過去記事が役に立つかも!
WordPressのRSSフィードの抜粋文字数を調整する方法について困ったので調べてみた
今回は、画像の直リンクを防ぐ方法を考えてみた!
目次
こんな不毛な作業は、サックと終わらせましょう!
.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
続いて要素の解説をしていきましょう。
難しい部分は殆ど無いのでササッと解説します。
#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