Apache 画像ファイルを外部から参照させたくないの巻

スポンサーリンク

えーっと、

手に人のサイトの画像を使わないでください!!

と言う前に、

でもアクセス出来る様にインターネット上に
画像を公開することをやめてください(笑)

画像参照は自分のサイトからのみ可能にして、外部から参照されるのを制限したい場合
画像フォルダに.htaccessをおいて制限します。

SetEnvIfNoCase Referer "^http://([^/]*.)?yourdomain.com/" local_referrer=1
Order Allow,Deny
Allow from env=local_referrer

参照元(Referer)が、自分のサーバー(http://(なにか.)yourdomain.com/)の場合、「local_referer」という環境変数を設定(SetEnv)します。環境変数「local_referrer」が設定さているアクセスのみを許可(Allow from env=local_referer)する設定です。この「local_referrer」というのは自由に設定出来ます。外部から参照した場合Forbiddenになります

また、外部から画像を参照したときに異なるエラー画像を参照させたい!という場合は、上記と同じく参照元(Referer)情報を用いて、参照元が自分のサーバーで無い場合はアクセスを異なる画像にリダイレクトさせる方法もあります。

SetEnvIfNoCase Referer "^http://([^/]*.)?yourdomain.com/" local_referrer=1
RewriteCond "%{ENV:local_referer}" "!=1"
RewriteRule ".*" "/forbidden.png" [L]

以上となります。

参考:
  How to restrict images from being used off-site with Apache  http://answers.oreilly.com/topic/110-how-to-restrict-images-from-being-used-off-site-with-apache/

コメント

タイトルとURLをコピーしました