检测视图状态篡改

时间:2009-06-16 12:22:35

标签: c# asp.net viewstate

在我的asp.net项目中已经看到viewstate已经改变了。反正有没有检查我的ViewState是否被篡改? (理想情况下用C#)

3 个答案:

答案 0 :(得分:0)

视图状态是使用机器密钥(默认服务器mac)签名的,但是如果它只是您获得的错误,则可能是传输错误或类似情况(如果您运行的服务器场确保在所有计算机上设置相同的计算机密钥) )

此外,如果您的安全后保护程序不在视图状态中存储感知信息,请将其保存在会话中。

答案 1 :(得分:0)

您可以在ViewState中添加加密的校验和,并在回发后检查它是否仍然正确

编辑:看完凤凰发布的链接后,似乎已经在ASP.NET中内置了这样的机制,所以我的建议可能没用......

答案 2 :(得分:0)

有一种机制可以检查视图状态是否存在篡改攻击。

您是否收到此页面的视图状态无效且可能已损坏异常且怀疑是否被篡改?在回发之间删除控件时会出现此异常。