我有一个mvc应用程序,它捕获所有路由设置,偶尔会在'?'上引发危险的请求路径异常。
我的路线设置如
routes.MapRoute(
"ImageResponse", // Route name
"{*_*}", // Just cute
new { controller = "ImageResponse", action = "RenderImage" } // Parameter defaults
);
我在路径上说例子'?'这是一个危险的请求,但我无法重现它(直接从事件日志中复制并粘贴它)。当我在机器上施加一点负荷时,这似乎就发生了。
例如,我在我的事件日志中发现了类似的内容(.jpg中的所有内容都已更改,以保护无辜者,尽管有三个目录和文件名。)
/an/example/path/image.jpg?Size=Thumb
之前是否有人遇到此问题?似乎某些东西没有检测到我的文件名。
答案 0 :(得分:1)
你确定实际路径中没有特殊字符吗?你不是URL编码的?你是?这会导致它被解释为路径的一部分而不是查询字符串的开头。
此处有更多信息/示例:
A potentially dangerous Request.Path value.... contains only alphanumerics and an underscore?