常用保护viewstate有两种方式:
1、防篡改
防篡改,使用散列代码.
在页面顶部加入如下代码:Page EnableViewStateMAC=true
asp.net就会自动的在viewstate中追加一个散列码,
在页面回传时,服务器根据回传的viewstate生成一个散列码,
再与回传的散列码相比较,如果不对,则丢弃该viewstate,同时控件将恢复初试状态.
(默认情况下asp.net是通过SHA1算法而不是md5算法来生成散列,不过这个可以在machine.config里面配置machineKey validation="MD5"即可)
2、加密
viewstate加密, 只要在machine.config里设置一下machineKey validation="3DES"即可实现用des加密viewstate了.