• ベストアンサー

htaccessでリンク元を参照したい(直リンクを防止)

PERLでは$ENV{'HTTP_REFERER'}でリンク元を参照する事ができますが、 これをhtaccessで参照する事はできるのでしょうか。 目的は、gifファイルやjpegファイルに特定のURLからのリンクのみアクセスできるようにしたいのです。 HTML表示では画像が表示されるが、画像への直接のアクセスはできないようにしたいのです。 (いわゆる直リンクの防止) たいへん困っております。詳しい方いらっしゃいましたら、よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • gaball
  • ベストアンサー率61% (27/44)
回答No.2

SetEnvIfとdenyの組み合わせである程度の事はできるかもしれませんね。 例えば SetEnvIf Referer www\.myhost\.com Check Order Deny,Allow Deny from all Allow from env=Check とかでwww.myhost.com以外からのアクセスは拒否できると思います。 (今試せる環境にないので試してはいませんが・・・・) 参考になりましたでしょうか?

0011001100
質問者

お礼

ご回答ありがとうございます。 教えていただいた方法で、うまくいきました。 教えて!gooのなかで皆さん「htaccessで直リンクを防止できる」と書いているわりには、具体的な方法を書かれている方はいないので困っておりました。 以下のURLに私と同じ問題で困っている方がいらっしゃいますので、 お暇がありましたら、その方にもお教しえしてあげられませんでしょうか。 同情しております。(私が教えるのも変だと思いますので) http://oshiete1.goo.ne.jp/kotaeru.php3?q=10294 今回は本当にありがとうございました。 今後何かの機会にはまたよろしくお願いいたします。

その他の回答 (1)

回答No.1

Perlには詳しくありませんが、 .htaccessでは無理なような気がします。 Perlのプログラムができるなら、 1.JPG,GIF等のファイルをあるディレクトリに置く(HTTPアクセス不可な場所) 2.Perl等で下記のようなCGIプログラムを組む    binmodeで1.のディレクトリからファイルを読み、標準出力で吐き出す。    (その時にPerlの$ENV{'HTTP_REFERER'}でチェック) 以前、このやり方でTXTや画像等を出力させました こういうやり方もありますよ (泥臭いかもしれませんが)

0011001100
質問者

お礼

ご回答ありがとうございます。 smart600ccさんの方法は、よく画像アクセスカウンターで使われている方法ですね。 ただ、そのようにしてしまう場合、HTML内の画像リンクをすべて.cgiにしなくてはいけなくなります。 これではサーバーにたいへんな負担がかかることになりますし、 やはり.htaccessで処理したく思います。 ご回答は今後何かの時に役立てたいと思います。ありがとうございました。

関連するQ&A