常用保護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了.