在Page中有一个若干个HTML的Hidden标签,其中有一个Hidden标签是由MD5算出的一个字符串。但是在Form提交以后,抛出一个异常。
以下是详细的说明:
说明: 请求验证过程检测到有潜在危险的客户端输入值,对请求的处理已经中止。该值可能指示危及应用程序安全的尝试,如跨站点的脚本攻击。通过在 Page 指令或 配置节中设置 validateRequest=false 可以禁用请求验证。但是,在这种情况下,强烈建议应用程序显式检查所有输入。 异常详细信息: System.Web.HttpRequestValidationException: 从客户端(SignMD5="?鹠?T叮??<f")中检测到有潜在危险的 Request.Form 值。这个说明到底是什么意思啊?救命啊!

解决方案 »

  1.   

    传递的字符串不符合格式,在传递之前用System.Web.HttpUtility.UrlEncode()修改字符串后再传递就可以了!
      

  2.   

    说明客户端输入的有不允许的字符,比如Hmtl字符,如果你不想让客户端输入这样的字符,可对一些字符进行处理,比如去掉"<"和">"等;如果你想允许客户输入这样带有危险的字符,可以Web.Config中的<system.web>节中设置:<pages validateRequest="false" />
      

  3.   

    可以在 出错的 *.aspx 页面的上方调用 CodeBehind 时的语句里面加上 validateRequest="false" 就可以了
      

  4.   

    在报错的?.aspx页面顶端加一个
    <%@ ... validaterequest="false" %>
      

  5.   

    <system.web>置:
    <pages validateRequest="false" />也可以写在每个页面的上面