2

MaxRequestLength と MaxAllowedContentLength (こちら) を使用して、基本的に同じことのために IIS を 2 つの異なるレベルで構成できることは理解されていますが、IIS が決定する前に、要求全体 (潜在的には数百 MB) を実際に受け入れる (ダウンロードされるまで待機する) ことは明らかです。拒否または除外する必要があります。

おそらく、リクエスト サイズについてヘッダーを参照するか、ヘッダーが不正確な場合 (長さが実際のリクエスト サイズよりも小さい値に設定されている場合)、制限を超えたらすぐに終了することができます。

問題がある場合-私はHttpHandlerに取り組んでいます。

このように動作するように IIS を構成することは可能ですか?

4

2 に答える 2

1

やりたいことは、ヘッダー コンテンツに基づくリクエスト フィルタリングです。

HttpHandlerは HTTP スタックから離れすぎているため、そのようなことはできませんこのステップで、リクエストがダウンロードされ、マッピングされたことを確信しています。

HttpModule (Init) およびHttpApplicationイベントを処理することもできますが、ASP.NET アプリケーションでは、処理前に要求も確実に完全にダウンロードされます。

IIS 7 および統合モードでは、ASP.NET モジュールを IIS パイプラインで宣言できます

これは、リクエストのフィルタリングを行う良い方法です。とにかく、IIS が要求をモジュール/ハンドラーにマッピングする前に既にダウンロードしていることは確かです。

Request Filteringを使用して、リクエスト処理パイプラインでそれを行うことができます。IIS 7.5 では、スキャン ヘッダーの Fitlering Rules が導入されました。

あなたの要求がダウンロードされないことを断言することはできませんが、すぐにはダウンロードできないと思います.

IIS アーキテクチャの紹介

IIS 7.0 の ASP.NET アプリケーション ライフ サイクルの概要

于 2012-09-07T14:32:42.290 に答える
0

まあ、少なくとも私は試しました。これは、IIS の設計上、実行できないことの 1 つであるようです。

于 2012-10-06T13:49:42.593 に答える