• Alice   2014/10/22 18:39:00
  • ASP.NET报错:从客户端中检测到有潜在危险的 Request.Form 值
  • 关键字: 网站安全 潜在危险 客户端
  • 从客户端(txtNickName="<script>alert('test'...")中检测到有潜在危险的 Request.Form 值。

    说明: 请求验证过程检测到有潜在危险的客户端输入值,对请求的处理已经中止。该值可能指示危及应用程序安全的尝试,如跨站点的脚本攻击。通过在 Page 指令或 配置节中设置 validateRequest=false 可以禁用请求验证。但是,在这种情况下,强烈建议应用程序显式检查所有输入。 

    异常详细信息: System.Web.HttpRequestValidationException: 从客户端(txtNickName="<script>alert('test'...")中检测到有潜在危险的 Request.Form 值。

    源错误: 

    [没有相关的源行]

    源文件: c:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\a5ba8963\830eb110\App_Web_ehr_buyz.0.cs    行: 0 

    堆栈跟踪: 

    [HttpRequestValidationException (0x80004005): 从客户端(txtNickName="<script>alert('test'...")中检测到有潜在危险的 Request.Form 值。]
       System.Web.HttpRequest.ValidateString(String s, String valueName, String collectionName) +8814978
       System.Web.HttpRequest.ValidateNameValueCollection(NameValueCollection nvc, String collectionName) +111
       System.Web.HttpRequest.get_Form() +129
       System.Web.HttpRequest.get_HasForm() +8815079
       System.Web.UI.Page.GetCollectionBasedOnMethod(Boolean dontReturnNull) +97
       System.Web.UI.Page.DeterminePostBackMode() +63
       System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +6785
       System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +242
       System.Web.UI.Page.ProcessRequest() +80
       System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext context) +21
       System.Web.UI.Page.ProcessRequest(HttpContext context) +49
       ASP.account_register_aspx.ProcessRequest(HttpContext context) in c:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\a5ba8963\830eb110\App_Web_ehr_buyz.0.cs:0
       System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +181
       System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +75

大家的回答
    Alice  回复时间: 2014/10/22 18:40:00
    解决方案一: 在.aspx文件头中加入这句: <%@ Page validateRequest="false" %> eg:<%@ Page Language="C#" AutoEventWireup="false" ValidateRequest="false" CodeFile="你的页面.vb" Inherits="你的页面" %> 解决方案二: 修改web.config文件: <configuration> <system.web> <pages validateRequest="false" /> </system.web> </configuration> 因为validateRequest默认值为true。只要设为false即可。
页数: 1 - 1 (共1 条内容)
Prev
[1]
Next
  •   我来回答
  • 注册用户登录后才能发表评论,请 登录注册
  • 请您注意

    ·自觉遵守:爱国、守法、自律、真实、文明的原则

    ·尊重网上道德,遵守《全国人大常委会关于维护互联网安全的决定》及中华人民共和国其他各项有关法律法规

    ·严禁发表危害国家安全,破坏民族团结、国家宗教政策和社会稳定,含侮辱、诽谤、教唆、淫秽等内容的作品

    ·承担一切因您的行为而直接或间接导致的民事或刑事法律责任

    ·您在编程中国社区新闻评论发表的作品,本网站有权在网站内保留、转载、引用或者删除

    ·参与本评论即表明您已经阅读并接受上述条款

  • 感谢以下赞助商