我目前在基于群集的系统(Rackspace云)上有一个.net Web应用程序。在Web配置中,我设置了以下机器密钥。
<machineKey validationKey='DE0...etc'
decryptionKey='A97...etc'
validation='SHA1'/>
我们每天都会遇到以下几个错误:
viewstate MAC验证失败。如果 此应用程序由Web托管 农场或集群,确保 配置指定相同 validationKey和验证 算法。无法使用AutoGenerate 在群集中。
我做了一些谷歌搜索并添加了以下内容。这已经停止了之前的所有错误。然而,它可能为各种黑客攻击敞开大门。
<pages enableViewStateMac="false">
但是我现在发现我收到以下错误
状态信息无效 此页面可能已损坏。
我正在尝试解决可能导致这两类错误的原因。他们是机器人吗?他们是真正的网络用户吗?他们是黑客/恶意软件企图吗?这是正常现象,我应该忽略它们......
任何人都可以对此有所了解吗?
答案 0 :(得分:1)
我不认为他们是恶意软件/黑客攻击 - 我有时在浏览网站时会看到这些。
我看到的一般原因是在用户启动回发之前页面还没有完成加载 - 在表单底部有一个隐藏字段,如果还没有渲染到当用户单击按钮时,服务器将拒绝该视图状态。
关于这个问题有一个非常深入的帖子,这里有一些解决方法: