如何判断ASP.Net应用程序中的viewstate是否被篡改?

时间:2008-09-16 02:05:27

标签: asp.net viewstate

在讨论安全问题时,我的团队中的开发人员询问是否有办法判断viewstate是否已被篡改。我很尴尬地说我不知道​​答案。我告诉他我会发现,但我想我会在这里给某人一个机会先回答。我知道有一些自动验证,但如果没有启用事件验证,有没有办法手动完成?

3 个答案:

答案 0 :(得分:6)

EnableViewStateMac页面指令

答案 1 :(得分:2)

默认情况下,ViewState是MIME编码的,并使用MAC密钥(来自计算机或来自web.config文件)进行散列,这有助于防止篡改(即解码爆炸)。如果您希望分别进一步保护和减少开销,也可以加密和压缩ViewState。请参阅MS ViewStateCodeProject.com

答案 2 :(得分:0)

您可以手动执行此操作,但您只需实现已经存在的相同算法。在页面上禁用ViewState验证通常是一个坏主意。