ASP.NET 4.0事件消息: 发生了验证错误;检测到有潜在危险的 Request.Form 值。

事件类型: 警告
事件来源: ASP.NET 4.0.30319.0
事件种类: Web 事件
事件 ID: 1309
日期:  2010-6-28
事件:  13:28:39
用户:  N/A
计算机: CNPOMO-T
描述:
事件代码: 3003
事件消息: 发生了验证错误。
事件时间: 2010-6-28 13:28:39
事件时间(UTC): 2010-6-28 5:28:39
事件 ID: a4dab4bd3ebd4a9d932e6b4c403ef126
事件序列: 13
事件匹配项: 2
事件详细信息代码: 0
 
应用程序信息:
    应用程序域: /LM/W3SVC/975604319/Root-2-129221764498437500
    信任级别: Full
    应用程序虚拟路径: /
    应用程序路径: D:/PP/PP_Web/
    计算机名: CNPOMO-T
 
进程信息:
    进程 ID: 3164
    进程名: w3wp.exe
    帐户名: NT AUTHORITY/NETWORK SERVICE
 
异常信息:
    异常类型: HttpRequestValidationException
    异常消息: 从客户端(ctl00$MainContent$txbZW="<cc>[/s|/S]+?</cc>")中检测到有潜在危险的 Request.Form 值。
   在 System.Web.HttpRequest.ValidateString(String value, String collectionKey, RequestValidationSource requestCollection)
   在 System.Web.HttpRequest.ValidateNameValueCollection(NameValueCollection nvc, RequestValidationSource requestCollection)
   在 System.Web.HttpRequest.get_Form()
   在 System.Web.HttpRequest.get_HasForm()
   在 System.Web.UI.Page.GetCollectionBasedOnMethod(Boolean dontReturnNull)
   在 System.Web.UI.Page.DeterminePostBackMode()
   在 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
   在 System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
   在 System.Web.UI.Page.ProcessRequest()
   在 System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext context)
   在 System.Web.UI.Page.ProcessRequest(HttpContext context)
   在 ASP.root_zztj_aspx.ProcessRequest(HttpContext context)
   在 System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
   在 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

 
 
请求信息:
    请求 URL: http://192.168.0.183/Root/ZZTJ.aspx
    请求路径: /Root/ZZTJ.aspx
    用户主机地址: 192.168.0.199
    用户: 
    是否已经过身份验证: False
    身份验证类型: 
    线程帐户名: NT AUTHORITY/NETWORK SERVICE
 
线程信息:
    线程 ID: 1
    线程帐户名: NT AUTHORITY/NETWORK SERVICE
    是否正在模拟: False
    堆栈跟踪:    在 System.Web.HttpRequest.ValidateString(String value, String collectionKey, RequestValidationSource requestCollection)
   在 System.Web.HttpRequest.ValidateNameValueCollection(NameValueCollection nvc, RequestValidationSource requestCollection)
   在 System.Web.HttpRequest.get_Form()
   在 System.Web.HttpRequest.get_HasForm()
   在 System.Web.UI.Page.GetCollectionBasedOnMethod(Boolean dontReturnNull)
   在 System.Web.UI.Page.DeterminePostBackMode()
   在 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
   在 System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
   在 System.Web.UI.Page.ProcessRequest()
   在 System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext context)
   在 System.Web.UI.Page.ProcessRequest(HttpContext context)
   在 ASP.root_zztj_aspx.ProcessRequest(HttpContext context)
   在 System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
   在 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
 
 
自定义事件详细信息:

有关更多信息,请参阅在 http://go.microsoft.com/fwlink/events.asp 的帮助和支持中心。

 

 

在ASP.NET请求验证功能提供了对跨站点脚本(XSS)攻击的保护。ASP.NET的早期版本仅仅在ASP.NET页执行。

在ASP.NET 4请求验证启用了所有的请求,因为它在HTTP的BeginRequest前启用,因此,请求验证适用于所有ASP.NET资源,而不仅仅是.aspx页。包括如Web服务和自定义HTTP处理程序。

要恢复到2.0的ASP.NET请求验证功能的行为,要在以下设置 Web.config中 文件添加:

<httpRuntime requestValidationMode="2.0" />

否则,即使在页面代码中添加validaterequest="false"也不起作用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值