事件类型: 警告
事件来源: 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"也不起作用。