2

我有一个 mvc 应用程序,它有一个捕获所有路由设置,偶尔会在“?”上引发危险的请求路径异常。

我有像这样的路线设置

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

我在路径上遇到异常说“?” 是一个危险的请求,但我无法重现它(直接从事件日志中复制并粘贴它)。当我在机器上施加一点负载时,这似乎会发生。

例如,我在我的事件日志中发现了类似的内容(.jpg 的所有内容都已更改以保护无辜者,尽管有三个目录和一个文件名)。

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

有没有人遇到过这个问题?似乎那里没有检测到我的文件名。

4

1 回答 1

1

您确定实际路径中没有特殊字符吗?你不是 URL 编码的?你是?这将导致它被解释为路径的一部分,而不是查询字符串的开头。

更多信息/示例在这里:

为什么在重定向获得“潜在危险请求”时使用包含问号的 URL?

有潜在危险的 Request.Path 值.... 仅包含字母数字和下划线?

于 2012-08-14T01:19:19.610 回答