重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

リンクをクリックすると、別ウィンドウが開いて画像が表示されるページがあります。
(ソースは<a href="○○.jpg" target=_blank>●●●</a>です。)

ブラウザはIEを使っているのですが、
リンクを右クリックし、「対象をファイルに保存」を選ぶと、
○○.jpgではなくて403.htmが保存されます。

おそらくサーバ側でそのような設定をしているのではないかと思うのですが、
Apacheの場合、どのようにすれば上記の環境になりますが?

A 回答 (2件)

403というのはアクセス拒否です。

リクエスト時にブラウザから送信される REFERER が設定されていなかったり、外部ドメインだったりする場合はアクセスが拒否され、403エラーが返されます。

この方法はアダルトサイト等で画像を直接ダウンロードされるのを拒否するためによく利用されています。

実現するためには以下の方法を使用します。

- mod_access.c と mod_setenvif.c を有効にする
- 以下の設定を httpd.conf ファイルに追加する

<Files ~ "\.(gif|jpe?g|png)$">
SetEnvIf REFERER "http://www.mydomain.com/" Lilith
Order Deny,Allow
Deny from All
Allow from env=Lilith
</Files>

これで、referer がセットされない直リンクは拒否されます。
    • good
    • 0
この回答へのお礼

REFERERがセットされているかいないかをサーバ側が判断していたのですね。
丁寧に記述くださったおかげで、わかりやすかったです。
どうもありがとうございました。

おかげで、こちらでも同様の環境を作ることができました。

お礼日時:2005/09/16 13:51

それは画像が表示されるページが単にjpeg画像だけのページではなく、他のフォントや広告、壁紙なども一緒になったページの可能性があるので、解決方法としては、実際に画像を出してから、その画像を右クリックして「コピー」→保存したい場所(マイドキュメントなど)で右クリックして「貼り付け」をクリックすればOKです。


もうひとつ考えられるのは、403などの数字は、そのファイルがすでに削除または移動してしまい、もうそこの場所にはない時にエラーとして出る事がよくあるので、実際にクリックして画像が表示されるか確かめてみてください。

この回答への補足

ご回答ありがとうございます。
ただ、残念ながらどちらも違います。

> それは画像が表示されるページが単にjpeg画像だけのページではなく、他のフォントや広告、壁紙なども一緒になったページの可能性があるので

↑ソースを記載しました通り、JPEG画像への直リンクです。クリックした際に新しく表示されるウィンドウのURL欄にも、末尾が.jpgになっています。

> もうひとつ考えられるのは、403などの数字は、そのファイルがすでに削除または移動してしまい、もうそこの場所にはない時にエラーとして出る事がよくあるので、実際にクリックして画像が表示されるか確かめてみてください。

↑画像が削除されているわけではありません。
リンクを普通にクリックすれば、新しいウィンドウに画像が表示されるにもかかわらず、
リンクを右クリックして「対象をファイルに保存」を選ぶと403.htmが保存されるのです。
何回繰り返しても同様です。

上記のような設定をApacheで実現する方法を知りたくて、質問させていただきました。

補足日時:2005/09/14 19:29
    • good
    • 0
この回答へのお礼

ありがとうございました。

お礼日時:2005/09/16 14:07

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!