2

私は asp.net を使用しており、ユーザーは私用の写真をサーバーにアップロードする必要があります。この写真はどうしても拡散できないので、何らかの方法で保護する必要があります。許可されたユーザーのみがアクセスできるように、それらを公の使用から保護する最も簡単な方法は何ですか?

ありがとう!

4

3 に答える 3

8
  • 一般の人が画像を表示できるようにして、ダウンロードを少し難しくしますか?

    もしそうなら、ダウンロードを許可しない人のために、Flickr のやり方を調べることができます。実際の画像の上に透明な GIF 画像を配置し、右クリックして画像をダウンロードできないようにします。

    経験則として、一般の人が見ることができるものは何でも自分のハードディスクに保存できるので、それらをダウンロードするのはまだかなり簡単です. したがって、公に閲覧可能な素材のダウンロードを阻止しようとする試みは、かなり無駄だと思います。そしてほとんどの場合、ユーザビリティの違反です。おそらく、難読化ではなく、法的な手段を検討する必要があります。著作権表示と必要なライセンスを明確に述べ、それらを盗んだ人を追跡する準備をしてください。

  • あなたのサイトからの画像の表示とダウンロードは許可するが、他のサイトからのホットリンクは許可したくないですか?

    その場合、重要なのは、送信されたリファラー (原文のまま) ヘッダーを検出し、リファラーが一致しない場合はイメージを拒否することです。リファラーが空白の場合、デフォルトでそれを信頼する必要があることに注意してください。多くの人のブラウザーは、自分のページを表示しているときでもリファラーを合法的に送信しません。

    これは通常、サーバー ディレクティブで行われます。Apache を使用している場合は、mod_rewrite ディレクティブを使用して .htaccess ファイルで実行します。ただし、IIS を使用している場合は、あまり明確ではありませんが、これらの手順が役立つ場合とそうでない場合があります

  • それとも、一般の人がそれらをまったく見ることができないようにしたいですか? その場合、使用しているサーバーでアクセス制御を使用するだけで済みます - IIS のアクセス制御の手順は次のとおりです。

于 2009-03-18T10:32:52.603 に答える
4

画像を直接提供する代わりに、asp.netハンドラーを使用します。このようにして、画像を提供する際の認証をきめ細かく制御できます。

また、画像をパブリックフォルダに入れないようにして、ユーザーが画像をダウンロードできないようにします。つまり、Webサイトのフォルダの外やデータベースに画像を保存します。

ハンドラーの詳細については、http://www.wrox.com/WileyCDA/Section/id-291916.htmlを確認してください。どちらのサンプルも画像を提供しますが、かなり特定のシナリオに焦点を当てています。これらからわかるように、そこに実装するロジックを完全に制御できるため、イメージを要求しているユーザーが指定されたイメージのダウンロードを許可されているかどうかを確認できます。

于 2009-03-18T10:20:37.983 に答える