【发布时间】:2011-06-01 13:49:00
【问题描述】:
我有一个使用查询字符串传递的字符串参数,我将其命名为:Request.QueryString["x"]。如果我手动输入如下 URL:mypage.aspx?x=co%3Csub%3E2,asp.net 没有机会在抛出错误之前获得该值。有没有办法安全地允许使用我自己的逻辑下拉和验证这个值而不关闭 validateinput?
问题是我们有自定义错误页面,当它们被击中时会向我发送一封电子邮件。机器人会攻击我们的网站,有时,我会在上班时收到来自此类错误的 500 封电子邮件在我的收件箱中等待。我想进行自己的验证,并在他们尝试访问的页面上显示我自己的错误消息。
谢谢!
【问题讨论】:
-
在 asp.net 中没有任何内容会通过调用该 url 导致错误。也许您在 global.asax 中有一个 http 模块或代码在发出请求时正在工作?你得到什么错误?
-
另外注意:错误页面应该是纯 HTML 文件,而不是托管的 .NET 页面;使用应用程序
OnError事件处理程序处理错误。 -
Craig,错误是:从客户端 (x="co2") 检测到潜在危险的 Request.QueryString 值。也许有一种方法可以通过其他方式管理 URL 输入?这个错误很早就发生了,在一行页面代码被触及之前。
标签: asp.net validation query-string