2011-06-01 79 views
2

我有一个字符串参数,我传递使用查询字符串,我会调用它:Request.QueryString [“x”]。如果我手动输入一个URL:mypage.aspx?x = co%3Csub%3E2,则asp.net在抛出错误之前没有机会获得该值。有没有办法安全地让这个值被拉下来,并使用我自己的逻辑进行验证,而无需关闭validateinput?asp.net url值导致错误

问题是我们有自定义错误页面,当它们被击中时,它会发送给我一封电子邮件。机器人殴打我们的网站,有时,我会开始工作,并从我的收件箱中收到错误信息等500封电子邮件。我想做我自己的验证,并在他们尝试访问的页面上显示自己的错误消息。

谢谢!

+0

在asp.net中没有任何东西可以通过调用该url来导致错误。也许你有一个http模块或global.asax中的代码在做请求时正在工作吗?你会得到什么错误? – Craig 2011-06-01 13:52:03

+0

另一个说明:错误页面应该是纯HTML文件,而不是托管的.NET页面;使用应用程序的'OnError'事件处理程序来处理错误。 – 2011-06-01 13:55:44

+0

Craig,错误是:从客户端检测到有潜在危险的Request.QueryString值(x =“co 2”)。也许有一种方法可以通过其他方式管理URL输入?这个错误发生得很早,在一行页面代码被触摸之前。 – StronglyTyped 2011-06-01 14:01:56

回答

0

我不认为你可以做到这一点,没有关闭验证输入。你能不能编码你的查询字符串,以便ASP验证它?

0

我相信它不可能没有validateinput关闭。也许你可以改变你的自定义500页,以不发送这种类型的电子邮件