我在 Azure 云服务上运行的 MVC 5 Web 应用程序因未处理的异常“从客户端 (:) 检测到潜在危险的 Request.Path 值”而崩溃。
这次崩溃的原因是某些第三方(可能是恶意的)使用 url 访问了我的端点:http : //myExampleHost.com/m : 443/templates
url 中的冒号无法通过路径验证。
某些答案(从客户端 (*) 检测到潜在危险的 Request.Path 值)建议更改验证规则。然而,出于安全考虑,我们可能不想在这方面妥协。
它的理想行为是:我们捕获异常,记录它并返回一些错误消息而不会崩溃。我们应该怎么做?
一个更普遍的问题是:如何在请求命中 MVC 中的控制器之前捕获异常?