- ベストアンサー
htaccessでリンク元を参照したい(直リンクを防止)
PERLでは$ENV{'HTTP_REFERER'}でリンク元を参照する事ができますが、 これをhtaccessで参照する事はできるのでしょうか。 目的は、gifファイルやjpegファイルに特定のURLからのリンクのみアクセスできるようにしたいのです。 HTML表示では画像が表示されるが、画像への直接のアクセスはできないようにしたいのです。 (いわゆる直リンクの防止) たいへん困っております。詳しい方いらっしゃいましたら、よろしくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
SetEnvIfとdenyの組み合わせである程度の事はできるかもしれませんね。 例えば SetEnvIf Referer www\.myhost\.com Check Order Deny,Allow Deny from all Allow from env=Check とかでwww.myhost.com以外からのアクセスは拒否できると思います。 (今試せる環境にないので試してはいませんが・・・・) 参考になりましたでしょうか?
その他の回答 (1)
- smart600cc
- ベストアンサー率39% (97/245)
Perlには詳しくありませんが、 .htaccessでは無理なような気がします。 Perlのプログラムができるなら、 1.JPG,GIF等のファイルをあるディレクトリに置く(HTTPアクセス不可な場所) 2.Perl等で下記のようなCGIプログラムを組む binmodeで1.のディレクトリからファイルを読み、標準出力で吐き出す。 (その時にPerlの$ENV{'HTTP_REFERER'}でチェック) 以前、このやり方でTXTや画像等を出力させました こういうやり方もありますよ (泥臭いかもしれませんが)
お礼
ご回答ありがとうございます。 smart600ccさんの方法は、よく画像アクセスカウンターで使われている方法ですね。 ただ、そのようにしてしまう場合、HTML内の画像リンクをすべて.cgiにしなくてはいけなくなります。 これではサーバーにたいへんな負担がかかることになりますし、 やはり.htaccessで処理したく思います。 ご回答は今後何かの時に役立てたいと思います。ありがとうございました。
お礼
ご回答ありがとうございます。 教えていただいた方法で、うまくいきました。 教えて!gooのなかで皆さん「htaccessで直リンクを防止できる」と書いているわりには、具体的な方法を書かれている方はいないので困っておりました。 以下のURLに私と同じ問題で困っている方がいらっしゃいますので、 お暇がありましたら、その方にもお教しえしてあげられませんでしょうか。 同情しております。(私が教えるのも変だと思いますので) http://oshiete1.goo.ne.jp/kotaeru.php3?q=10294 今回は本当にありがとうございました。 今後何かの機会にはまたよろしくお願いいたします。