代码之家  ›  专栏  ›  技术社区  ›  keyboardP

处理“潜在危险的请求。表单值…”

  •  14
  • keyboardP  · 技术社区  · 15 年前

    处理错误的最佳方法是什么?

    潜在危险的请求。从客户端检测到表单值“

    在ASP.NET?

    我想继续验证,因为我的表单没有允许HTML字符的有效理由。但是,我不太确定如何以更友好的方式处理这个错误。我试着用 Page_Error 但是,据我所知,这发生在一个较低级别的部分,所以 页错误 函数从不激发。

    因此,我可能不得不使用 Application_Error 在我的 Global.asax 文件。如果这是处理该错误的唯一方法,是否有专门处理该错误的方法?我不想以相同的方式处理所有应用程序错误。

    谢谢

    3 回复  |  直到 10 年前
        1
  •  22
  •   Rubens Farias    15 年前

    您有两种选择:

    // Editing your global.asax.cs
    public class Global : System.Web.HttpApplication
    {
        protected void Application_Error(object sender, EventArgs e)
        {
            Exception lastError = Server.GetLastError();
            if (lastError is HttpRequestValidationException)
            {
                Response.Redirect("~/RequestValidationError.aspx");
            }
        }
    }
    

    // Editing your CUser.aspx.cs
    public partial class CUser : System.Web.UI.Page
    {
        protected override void OnError(EventArgs e)
        {
            Response.Redirect("~/RequestValidationError.aspx");
            Context.ClearError();
        }
    }
    
        2
  •  3
  •   IrishChieftain    15 年前

    你不想在global.asax中添加不必要的行李。如果您确信这是由虚假数据输入引起的,那么不管输入来自何处,都要处理输入:

    http://codersbarn.com/post/2008/11/01/ASPNET-Data-Input-Validation.aspx

    专注于错误的原因:—)

        3
  •  1
  •   Dave Swersky    15 年前

    你可以使用 Server.GetLastError() 在应用程序中,如果要获取引发的异常,请检查异常,并根据需要对其作出响应(重定向到页面等)