我在我的 Web 应用程序中使用 ASP.NET 的登录控件。当发生此异常时,我想在标签上显示一种有趣的错误类型System.Web.HttpRequestValidationException: A potentially dangerous Request.Form value was detected from the client
当用户尝试通过在登录控件的用户名文本字段中输入 SQL 注入攻击或某些 HTML 或 SCRIPT 操作时,就会发生这种情况。我尝试了很多事情,例如将身份验证登录包含在 try catch 块中并捕获System.Web.HttpRequestValidationException
异常也对我创建的事件执行相同的操作,与用户名文本框的 onTextChange 相同。但所有这些尝试都失败了。请告诉我如何检查此异常并向攻击者显示一条有趣的消息?
以下是如何提供更友好的错误消息的一些示例:
http://romsteady.blogspot.com/2007/06/how-to-catch-httprequestvalidationexcep.html http://romsteady.blogspot.com/2007/06/how-to-catch-httprequestvalidationexcep.html
如何在生产中捕获 HttpRequestValidationException https://stackoverflow.com/q/5028206/698
您需要记住的是,此异常是在页面代码发生之前引发的。因此,您通常无法捕获页面代码中的错误,而只能捕获 Application_Error 中的错误。
我自己没有尝试过,但是这个网站 http://gargmanoj.wordpress.com/tag/httprequestvalidationexception/提供了另一种方法来允许您的页面代码执行,但仍然使用内置逻辑保护自己免受恶意输入的影响,并捕获您自己的代码中的异常。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)