私は長年この疑問を抱いており、この問題が発生するたびに調査を行いましたが、明確な答えを見つけることができませんでした. 強力なインターネット、MSDN、コミュニティ フォーラムは、どういうわけか、これについて沈黙しているか、あいまいです。何千もの開発関連の不確実性のうち、これはとらえどころのないままであった唯一のものです.
要するに、ユーザーがブログ投稿で使用される画像 (およびその他のファイル) をアップロードして管理できるようにするために、共有ホスティング環境で、SQL Server のバイナリ データ型 (パフォーマンスへの影響) またはファイル システムのいずれかを考慮することができます。後者を使用するには、ストレージ ディレクトリの IIS_IUSRS ロールに必要なアクセス許可を設定する必要があります: 作成/書き込み、読み取り、および削除。私の質問 - これを行うと、セキュリティにどのような影響がありますか? 誰かがこれを利用して、ASP.NET 要求パイプラインをバイパスし、対応する ASP.NET ハンドラー (権利のチェック、アップロードの検証など) に要求を行わずに、フォルダー内のファイルを操作できますか?
私はファイルのアップロードを許可するいくつかのシステムを開発しましたが、これは常に私を悩ませてきました。さて、うまくいけば、誰かが私の心を安心させ、理想的には、プロセスの背後にあるメカニズムを説明してくれるでしょう.
アップデート
最新の回答を見た後(どうもありがとう)、質問の別の定式化:
クライアントが何らかの方法でリクエストパイプラインをバイパスし、それを許可するディレクトリ内でファイルを作成/削除することは可能ですか (その人がディレクトリ構造を知っていると仮定して)? それとも、リクエストを処理するコードだけがそれを行うことができますか? 潜在的なエクスプロイトはありますか?