人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

PerlでCGIを作っています。

画像などをあるフォルダに置く場合に、直リンを禁止したいときがあります。

質問というのは画像への直リンを禁止する方法なのですが、直リンを禁止した場合、その画像を見るには、そこのHTMLファイルを通じてみるしか方法はないのでしょうか?

●質問者: zachouR
●カテゴリ:インターネット ウェブ制作
✍キーワード:ファイル フォルダ 画像 直リン CGI
○ 状態 :終了
└ 回答数 : 2/4件

▽最新の回答へ

1 ● iwaim
●35ポイント

a) 直リンを禁止する方法が知りたい

b) 何らかの方法直リンを禁止した場合にその画像を見る方法としてどのようなものがあるのか知りたい

このどちらなのかが質問文から上手くわからないので両方書いてみます。

まず「直リン禁止」の定義を「画像ファイルを示すURLをウェブブラウザなどで直接表示させようとする行為や、(別のウェブサイトなど)意図しないHTMLファイルから画像ファイルを表示する行為を禁止する」と理解しましたが、これであってますか?

あってた場合、これを実現するためにはreferrer(HTTP_REFERER)を制限する方法しかないはずです。つまり、画像をHTTPヘッダ付きで出力するためのスクリプトを作成した上で、そのスクリプトを実行する場合にHTTP_REFERERの値を調べ、意図するURL(ドメインなど)から呼び出されている場合のみに画像を出力するようにすれば良いです。

http://q.hatena.ne.jp/1194408166

◎質問者からの返答

質問がたらずにすいません。

内容はそのとおりです!

しかし、自分の頭ではなかなか理解ができませんでした、、、のでHTTP_REFERERを今から調べてみようと思います。


2 ● tezcello
●35ポイント

.htaccess が使えるなら簡単です。

対象のディレクトリに .htaccess を置き

Options none
deny from all

を書き込んでおきます。

(Web経由のアクセスは全て禁止するという内容です)

cgiなどの内部からのアクセスの場合は、この設定がしてあっても問題無く読み出せるはずです。


ですが、cgi から書き出したページで

<img src="??">

とした場合は、結局Webからのアクセスになるのでダメです。

SSIでスクリプトから出力させるとか...が必要でしょう。


http://q.hatena.ne.jp/1194408166

◎質問者からの返答

なるほど!しかし、自分内のHTMLからのアクセスもロックしてしまうんですね、、、。

SSIはある事情でつかえないので、、、。

ページをひとつひとつCGIで作り出すしかないかな、、、。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ