asp.net无法验证数据

说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.Web.HttpException: 无法验证数据。
经过在网上搜索,并测试,找到三种解决“无法验证数据”问题的方法:
1、设置web.config文件:
找到    <pages validateRequest="false"/>
替换成
1<pages validateRequest="false" enableViewStateMac="false"/>
2、在出错的页面(**.aspx)修改代码成下面这样的:
<%@Page EnableViewStateMac="false"> 
3、修改machine.config文件(不推荐采用此方法):
  此文件位于:C:/WINDOWS/Microsoft.NET/Framework/v1.1.4322/CONFIG/machine.config,找到“enableViewStateMac="true"”,改成“enableViewStateMac="false"”
关于此问题的解释:
视图状态消息身份验证代码 (MAC) 是一种身份验证标记(又称校验值),当对消息同时应用身份验证方案和密钥时就会创建该代码。MAC 通过使用相同的密钥进行计算和验证。因此,MAC 仅能由预定的接收方验证。可以使用多种加密技术和算法来创建 MAC,如安全散列算法 (SHA)、消息摘要 5 (MD5) 算法或数据加密标准 (DES) 算法。
视图状态 MAC 功能用以防止客户发送含有恶意视图状态数据的请求。默认情况下,视图状态 MAC 功能通过使用 Machine.config 文件中的 enableViewStateMac="true" 标志启用。
要确定所遇到的问题是否与 MAC 有关,最简单的方式是将该功能关闭。为此,请将 enable ViewStateMac 标志设置为 False。如果不再遇到视图状态错误,则该问题与 MAC 有关。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值