みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

画像のURLを直接打ち込んだらエラー

HP作成において、
ブラウザではHPの画像とかが普通に表示されるけど、
その画像のURLを直接打ち込んだら、
エラー(NotFound)となるようにしたいのですが、
可能でしょうか?

IIS2003Serverを使用しています。

投稿日時 - 2009-10-24 10:46:39

QNo.5392201

困ってます

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

.htaccessはApache用です。
IIEではweb.configを使用してください。

http://technet.microsoft.com/ja-jp/iis/default.aspx
http://technet.microsoft.com/ja-jp/library/dd647603.aspx

考え方はHTTP_REFERERに自分のサイトのURL(通常はドメインだけを確認)が含まれていなければエラーとする
でもいいと思いますが、
一部のセキュリティーソフトではリファラーを消す物がありますので、
そういう場合は完全にアクセスできなくなります。
そのため、「自分のサイトからのアクセス、またはrefererに何も入ってない状態であればアクセス可」というほうが親切だと思います。


<rewrite>
<rules>
<rule name="Rule 1" stopProcessing="true">
<match url="\.jpg|\.gif|\.png" ignoreCase="true" />
<conditions>
<add input="{HTTP_REFERER}" pattern="^$" />
</conditions>
<action type="CustomResponse" statusCode="403" subStatusCode="0"
statusReason="Forbidden"
statusDescription="Access is forbidden." />
</rule>
</rules>
</rewrite>

未検証です。

投稿日時 - 2009-10-24 14:44:40

ANo.3

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(4)

ANo.4

文脈でわかると思いますが、一応、訂正。
IIEじゃなくてIISですね。

投稿日時 - 2009-10-25 01:31:27

アドレスバー(ロケーションバー)に画像URIを「直接」入力しての移動での表示を弾くと云う意味ですね。
基本的には.htaccessやCGIに頼るのが一般的かも知れませんが、「直接」参照ではコレは無意味と成る場合が多々在る。
リファラの吐き出しの有無に関わらず「アドレス直接参照」では制限を掛けても「TOPディレクトリ」に制限を掛けないと有効に機能しないからです。
http://www.shtml.jp/htaccess/referer.html

何れにしても.htaccessやCGIが使えないサーバーでは無理ですね。

投稿日時 - 2009-10-24 12:53:53

ANo.1

.htaccessを使えば直リンクを防止できます。
ただサーバが.htaccessをサポートしている必要があります。

※参考になりそうなサイトを提示しておきます

参考URL:http://goldendragon.xrea.org/page1.html

投稿日時 - 2009-10-24 11:30:49

あなたにオススメの質問