2007年04月08日 16:30 [Edit]
Apache - ホットリンクを禁止する
それでもホットリンク禁止にしたい人向け。
404 Blog Not Found:To hot-link or not to hot-link, that is NOT the questionちなみにWebサーバーの設定でホットリンクを謝絶するというのは、明示の形体の一つである。
以下のページからは、ちゃんと画像が見える。
しかし、画像をホットリンクすると、この通り。
やり方
httpd.confないし.htaccessで以下のように設定するだけ。
Document Root:
SetEnvIfNoCase Referer "^http://www\.dan\.co\.jp/\~dankogai/nohotlinks/" referer_ok
<FilesMatch ".(gif|png|jpe?g|mov|wmv|avi|flv)$">
Order Allow,Deny
Allow from env=referer_ok
</FilesMatch>
詳しくは以下を参照されたし
限界
この方法で、ふつうにWebブラウザー経由で見ている人をホットリンクから排除することはできる。が、道具の使い方を知っている人なら、Refererを捏造するのは簡単だ。この方法はカカシ程度にしか効かない。カラスのように賢い鳥まで排除したければ、認証を使うなどもっと厳しい手段が必要になる。
なんだかんだ言って、ホットリンクを認めてしまうに超したことはない。
Dan the Pro-Hotlinks
Posted by dankogai at 16:30│Comments(2)│TrackBack(0)
この記事へのトラックバックURL
この記事へのコメント
ちょっと手間はかかりますが、参照元を偽造されても正しく拒否する方法があります。
1)画像は直接配信せず、CGIによって配信するようにする
http://www.a.com/image.cgi?file=test.jpg
※画像ファイルは公開ディレクトリ外に配置
2)画像のURLを埋め込む親ページで、アクセス元IPアドレスと時間で
乱数を生成して、Cookieとしてクライアントに送付する
3)画像CGIではCookie情報を検証し、失敗した場合は画像配信を拒否する
これなら、画像のURLをコピペされても、親ページに接触していないブラウザでは画像が表示されなくなります。Cookieが利用できないユーザの場合は全く表示されなくなるデメリットはありますが・・・。
1)画像は直接配信せず、CGIによって配信するようにする
http://www.a.com/image.cgi?file=test.jpg
※画像ファイルは公開ディレクトリ外に配置
2)画像のURLを埋め込む親ページで、アクセス元IPアドレスと時間で
乱数を生成して、Cookieとしてクライアントに送付する
3)画像CGIではCookie情報を検証し、失敗した場合は画像配信を拒否する
これなら、画像のURLをコピペされても、親ページに接触していないブラウザでは画像が表示されなくなります。Cookieが利用できないユーザの場合は全く表示されなくなるデメリットはありますが・・・。
Posted by weasel at 2007年04月09日 18:57
いやまあ方法はあるんでしょうが・・・なんかむなしいですよ。
Danさんにしても、weaselさんにしても。
原則論をしましょうよ。些末な実装論ではなく。
Danさんの元記事は実装論としては、とりたてて「啓蒙」するようなTipsでも無ければHackでもないんだから。weaselさんのにしても・・・。
もし実装系の記事ならもっと気張って行きましょうよ。ここのPerl関連記事くらいにはすっげーやつを。
Danさんにしても、weaselさんにしても。
原則論をしましょうよ。些末な実装論ではなく。
Danさんの元記事は実装論としては、とりたてて「啓蒙」するようなTipsでも無ければHackでもないんだから。weaselさんのにしても・・・。
もし実装系の記事ならもっと気張って行きましょうよ。ここのPerl関連記事くらいにはすっげーやつを。
Posted by pon at 2007年04月10日 00:20