无法验证数据,有谁遇到过?急,解决了就给分!

时间:2022-04-14 19:15:49
“/work”应用程序中的服务器错误。
--------------------------------------------------------------------------------

无法验证数据。 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 

异常详细信息: System.Web.HttpException: 无法验证数据。

源错误: 

执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。  

堆栈跟踪: 


[HttpException (0x80004005): 无法验证数据。]
   System.Web.Configuration.MachineKey.GetDecodedData(Byte[] buf, Byte[] modifier, Int32 start, Int32 length, Int32& dataLength) +195
   System.Web.UI.LosFormatter.Deserialize(String input) +60

[HttpException (0x80004005): Authentication of viewstate failed.  1) If this is a cluster, edit <machineKey> configuration so all servers use the same validationKey and validation algorithm.  AutoGenerate cannot be used in a cluster.  2) Viewstate can only be posted back to the same page.  3) The viewstate for this page might be corrupted.]
   System.Web.UI.LosFormatter.Deserialize(String input) +118
   System.Web.UI.Page.LoadPageStateFromPersistenceMedium() +101

[HttpException (0x80004005): Invalid_Viewstate
Client IP: 222.92.25.26
Port: 1333
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.1.4322)
ViewState: dDwxMDA0NjMxNzM3OztsPElzQXV0b0xvZ2luOz4+PfBp0Fmd/jFaB6DDPkewW0XiO0U=
Http-Referer: http://www.cscec1bhd.com/
Path: /work/Login.aspx.]
   System.Web.UI.Page.LoadPageStateFromPersistenceMedium() +442
   System.Web.UI.Page.LoadPageViewState() +18
   System.Web.UI.Page.ProcessRequestMain() +447

 

7 个解决方案

#1


up

#2


代码帖出来瞧瞧

#3


没代码怎么看?

#4


http://community.csdn.net/Expert/topic/3681/3681487.xml?temp=.4025232
参考解决办法

#5


我倒,代码呢!?

#6


急的晕了

#7


偶也碰到,现终于解决了..如下:
     1.解决方法:在Page指令中设置禁止MAC(身份验证代码 ):
<% @ Page EnableViewStateMac="false">

   个人分析:当网页提交给本身时,服务器会通过MAC以检查视图的状态,看状态是否在客户端被更改.但这也就导至一个潜在的问题,即服务器端的状态一般保持时间很短,如果在服务器上状态消亡后再提交页面的话,就会造成MAC验证不通过,产生无法验证的错误提示.

   这个解决方法也存在很多麻烦,比如需要在每个提交给自身的页面加上这条指令.而且存在一些安全隐患,如有人恶意更改视图状态等.还望有谁能提供更佳的方案.

#1


up

#2


代码帖出来瞧瞧

#3


没代码怎么看?

#4


http://community.csdn.net/Expert/topic/3681/3681487.xml?temp=.4025232
参考解决办法

#5


我倒,代码呢!?

#6


急的晕了

#7


偶也碰到,现终于解决了..如下:
     1.解决方法:在Page指令中设置禁止MAC(身份验证代码 ):
<% @ Page EnableViewStateMac="false">

   个人分析:当网页提交给本身时,服务器会通过MAC以检查视图的状态,看状态是否在客户端被更改.但这也就导至一个潜在的问题,即服务器端的状态一般保持时间很短,如果在服务器上状态消亡后再提交页面的话,就会造成MAC验证不通过,产生无法验证的错误提示.

   这个解决方法也存在很多麻烦,比如需要在每个提交给自身的页面加上这条指令.而且存在一些安全隐患,如有人恶意更改视图状态等.还望有谁能提供更佳的方案.