1

asp.netに、ユーザーがサインインして画像/ファイル/ PDFなどをアップロードできるWebサイトがあります。ファイル/画像をサーバーに保持しているため、画像のアップロード時間は短くなります。

www.MyWeb.com/UserFolder/Img.jpg

私の懸念は、ユーザーがサインインして画像を表示するときはいつでも、画像がブラウザのキャッシュに残ることです。したがって、ユーザーがサインアウトしても、誰でも画像にアクセスできます。www.MyWeb.com/UserFolder/Img.jpgを押すことによって

画像を保護するにはどうすればよいですか?ファイルハンドラーの作成を提案する投稿がいくつかありますが、画像をサーバーに保持したいので、画像がクリックされたときにリクエストを送信したくありません。

ブラウザにキャッシュされている静的コンテンツを保護するにはどうすればよいですか?

どんな助けでもありがたいです...

4

1 に答える 1

1

IISを使用している場合は、フォーム(またはWindows)認証を使用してフォルダーを保護するだけで、ユーザーが認証されている限りファイルを提供できることをIISに通知します。http://technet.microsoft.com/en-us/library/cc771077(v=ws.10).aspx

推奨事項はおそらくファイルハンドラーではなくHTTPハンドラーでしたが、それは現在のニーズには少し複雑すぎます。

キャッシュについては、サーバーからのWeb応答のヘッダーにキャッシュを設定するオプションが常にあります。http://msdn.microsoft.com/en-us/library/06bh14hk(v=vs.100).aspx

編集:

わかりました。コメントで説明したシナリオについては、asp.netエンジンを使用していないと思いますが、IISのpicturesフォルダーをWebアプリケーションとして公開しただけです。これが、レンダリングを制御できない理由です。あなたがしなければならないことは、写真を処理するウェブページを作成し、次に写真のパラメータを送信することです:例えば:picture.aspx?id =picture1そして例えばロードページであなたはユーザーがそれを見ることができるかどうかをチェックします写真(彼はログインしているのですでにアカウントを知っています)なので、ユーザーが許可されている場合は、写真を提供するためにResponse.writeを作成するだけです。それ以外の場合は、次のように言うことができます。 。アイデアは、仲介者が必要であるということです。それが、結局asp.netを使用している理由です。

それが役立つかどうか教えてください、

于 2013-02-24T08:38:12.177 に答える