【问题标题】:asp.net url value causes errorasp.net url 值导致错误
【发布时间】: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


【解决方案1】:

如果不关闭 validateinput,我认为您无法做到这一点。您能否以某种方式对您的查询字符串进行编码以便 ASP 对其进行验证?

【讨论】:

    【解决方案2】:

    我相信不关闭 validateinput 是不可能的。也许您可以将自定义 500 页面更改为不发送此类电子邮件的例外

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-16
      • 2017-12-10
      • 1970-01-01
      • 2014-09-14
      • 2012-01-06
      相关资源
      最近更新 更多