2

'?'で危険なリクエストパス例外をスローすることがあるキャッチオールルートセットアップを備えたMVCアプリがあります。

私は次のようなルート設定をしています

routes.MapRoute(
  "ImageResponse", // Route name
  "{*_*}", // Just cute
  new { controller = "ImageResponse", action = "RenderImage" } // Parameter defaults
);

'?'というパスで例外が発生します 危険なリクエストでしたが、再現できません(イベントログから直接コピーして貼り付けてください)。これは、マシンに少し負荷をかけたときに発生するようです。

たとえば、イベントログでこのようなものを見つけました(3つのdirと1つのファイル名がありますが、.jpgの残りはすべて無実を保護するために変更されています)。

/an/example/path/image.jpg?Size=Thumb

誰かが以前にこの問題に遭遇したことがありますか?何かが私のファイル名を検出していないようです。

4

1 に答える 1

1

実際のパスに特殊文字がないことを確認しますか?あなたはURLエンコードではありませんか?あなたは?これにより、クエリ文字列の先頭ではなく、パスの一部として解釈されます。

詳細/例はこちら:

リダイレクト時に「潜在的に危険なリクエスト」を受け取るときに、疑問符を含むURLを使用するのはなぜですか。

潜在的に危険なRequest.Path値....には英数字とアンダースコアのみが含まれていますか?

于 2012-08-14T01:19:19.610 に答える