【发布时间】:2009-06-16 12:22:34
【问题描述】:
在我的 asp.net 项目中已经看到视图状态发生了变化。有没有办法检查我的 ViewState 是否被篡改? (最好使用 C#)
【问题讨论】:
-
索取代码不会得到您的好评。我建议你发布你的尝试......
-
检查this关于 Viewstate 安全性的链接
在我的 asp.net 项目中已经看到视图状态发生了变化。有没有办法检查我的 ViewState 是否被篡改? (最好使用 C#)
【问题讨论】:
viewstate 是用机器密钥(默认服务器 mac)签名的,但是如果它只是你得到的错误,那么它可能是一个传输错误或类似的错误(如果你运行一个农场,请确保在所有机器上设置相同的机器密钥)
此外,如果您的后安全性不在视图状态中存储感知信息,请将其保存在会话中。
【讨论】:
你可以在 ViewState 中添加一个加密校验和,并在回发后检查它是否仍然正确
编辑:看了phoenix贴出来的链接,好像ASP.NET中已经内置了这样的机制,所以我的建议可能没用……
【讨论】:
有一个内置机制可以检查视图状态是否存在篡改攻击。
您是否收到此页面的视图状态无效并且可能已损坏异常并怀疑被篡改?当您删除回发之间的控件时发生此异常。
【讨论】: