3

我目前在基于集群的系统(Rackspace 云)上有一个 .net Web 应用程序。在网络配置中,我设置了以下机器密钥。

<machineKey validationKey='DE0...etc' 
decryptionKey='A97...etc' 
validation='SHA1'/>

我们每天都会遇到很多以下错误:

视图状态 MAC 验证失败。如果此应用程序由 Web Farm 或集群托管,请确保配置指定相同的 validationKey 和验证算法。AutoGenerate 不能在集群中使用。

我做了一些谷歌搜索并添加了以下内容。这已经停止了所有以前的错误。然而,它可能会为各种黑客攻击打开大门。

<pages enableViewStateMac="false">

但是我现在发现我收到以下错误

此页面的状态信息无效,可能已损坏。

我正在尝试找出可能导致这两种错误的原因。他们是机器人吗?他们是真正的网络用户吗?他们是黑客/恶意软件尝试吗?这是正常现象吗,我应该忽略它们...

任何人都可以对此有所了解吗?

4

1 回答 1

1

我不认为它们是恶意软件/黑客攻击 - 我有时在浏览网站时会看到这些。

我看到的一般原因是在用户启动回发之前页面尚未完成加载 - 表单底部呈现了一个隐藏字段,如果该字段尚未呈现给浏览器用户单击一个按钮,服务器将拒绝该视图状态。

关于这个问题有相当深入的帖子,这里有一些解决方法:

验证视图状态 MAC 失败错误

于 2009-10-15T10:14:18.523 回答