【发布时间】:2021-10-07 16:37:33
【问题描述】:
我有一些“坏男孩”用户使用不存在的控制器调用我的网站。
比如www.myapp.com/.svn/,或者www.myapp.com/wp-admin/。
该应用程序基本上抛出一个System.Web.HttpException,这ExceptionMessage:找不到路径'...'的控制器或没有实现IController。
有没有办法以一种可靠的方式准确地捕捉到这个“子”System.Web.HttpException? (当然不是比较ExceptionMessage的字符串)。
任何指示确切异常的子 InnerException 类型和/或某些“代码”?
【问题讨论】:
-
HttpException 上没有可以帮助您的属性。您要么必须弄清楚如何在请求变为异常之前拦截请求,要么返回解析消息。
-
@LasseV.Karlsen 我该如何拦截它?例如,检查请求的控制器是否存在?
-
我认为您需要在 web.config 文件中进行简单配置。请仔细阅读页面stackify.com/aspnet-mvc-error-handling。
-
@AmirhosseinMehrvarzi 这适用于通用 http 消息(即 400、401 等)。在这种情况下,如果控制器不存在,我需要路由
标签: asp.net-mvc exception .net-4.6.1 httpexception