【发布时间】:2015-06-09 09:04:29
【问题描述】:
我正在创建一个 webAPI,当我在请求字符串中包含一个冒号 (:) 时,
我得到这个错误:
从客户端 (:) 检测到具有潜在危险的 Request.Path 值。
[HttpException (0x80004005):从客户端 (:) 检测到潜在危险的 Request.Path 值。] System.Web.HttpRequest.ValidateInputIfRequiredByConfig() +9673044 System.Web.PipelineStepManager.ValidateHelper(HttpContext 上下文) +53
我不打算在实际的 api 请求中包含特殊字符,但是如果某些不良用户在请求中输入特殊字符会导致错误。
问题:如何在 API 端处理此错误?有什么办法吗?还是我应该只给开发人员一个关于这个问题的说明?
注意:我无法控制将来访问 API 的客户端。我正在使用 Visual Studio 2012 for Web; .Net 4.0 版; ASP.Net WebApi;和 C#;我确实认为代码对我的情况来说是不必要的,除了某些特殊字符外,Api 都可以工作。但如果您不这么认为,请告诉我您还需要知道什么。
另一个注意事项:我不是想办法在 url 中允许它,我只是在寻找专门处理错误的方法。
【问题讨论】:
-
您应该处理该异常并以某种方式返回错误的请求状态,这取决于您的 API 或只是 http 状态 400
标签: c# asp.net asp.net-web-api