【问题标题】:How to stop a 500 .net error created calling the 500 error page如何停止调用 500 错误页面创建的 500 .net 错误
【发布时间】:2009-01-30 11:42:33
【问题描述】:

这对你来说很有趣。

我有我的自定义 500.aspx 设置,当我的应用程序中发生 500 错误时调用它。 500.aspx 还会向我发送一封包含错误详细信息的电子邮件。

我注意到一个小问题。

如果您尝试对 500.aspx 本身进行 xss 攻击,则不会调用 500 页面。

这显然是某种逻辑问题。

事实上,微软自己也遇到了同样的问题。

在此处查看实际操作

http://www.microsoft.com/500.aspx?aspxerrorpath=%3Cscript%3Ealert(%22XSS%22)%3C/script%3E

如何防止这种情况发生?

埃德

【问题讨论】:

    标签: asp.net iis


    【解决方案1】:

    如果您尝试在任何页面上进行 xss 攻击,则不会调用自定义错误页面(这里是 another random page on Microsoft.com,查询字符串中带有 xss)。

    这种行为似乎是有意阻止攻击。甚至错误消息也表明了这种行为:

    请求验证检测到一个 潜在危险的客户输入 请求的值、和处理 已中止

    唯一的解决方法似乎是禁用验证或捕获并处理全局应用程序错误中的错误。

    【讨论】:

      【解决方案2】:

      看来,一旦您定义了一个页面来处理特定(或非特定?)错误,它就不再可以直接通过其 url 获得,有点像 Web.Config 不能通过浏览器调用。

      我会设置一个 500Test.aspx,它会引发一个导致 500 错误的异常(并因此触发 500.aspx)

      这可能行得通。

      【讨论】:

        【解决方案3】:

        You 可能需要考虑在 Global.asax.cs 而不是 500.aspx 页面中处理 Application_Error 事件中的错误。您可以将电子邮件代码放在那里,然后在您完成错误处理后将用户重定向到错误页面(这是我们在我工作的地方这样做的方式)。

        【讨论】:

          猜你喜欢
          • 2018-06-30
          • 2012-09-06
          • 2015-10-01
          • 2013-07-13
          • 2015-08-26
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多