禁用ASP.NET EventValidation

时间:2009-02-12 16:57:11

标签: .net asp.net eventvalidation

我们已经厌倦了在我们的网络应用中获得有关“无效回发或回调参数”的例外情况。什么情况会导致此错误?

在与用户交谈之后,我们确定了一个可能的原因是当他们点击导致回发的内容时,然后在初始回发完成之前点击其他内容。

禁用事件验证有什么危害?为了它的价值,我们安装了SecureIIS以提高安全性。

更新:在某些地方,我们使用Javascript修改某些控件值,例如下拉列表选项(我们这样做是为了提供更好的用户体验 - 减少回发次数)。这可能导致错误。我们对所有用户输入都进行了严格的编辑,因此我们将继续禁用EventValidation。谢谢!

2 个答案:

答案 0 :(得分:8)

事件验证会验证值是否未被手动篡改,例如超出相关控制允许的范围。例如,如果您有一个包含三个选项1,2或3的下拉列表...如果用户(或恶意中间人)将值更改为4,则验证将失败。

只要您在每个处理程序中进行自己的检查以确保传入的值有效,并且您的代码的构造方式使得意外输入不会导致任何事情发生(最安全),您将可以使用验证关闭。

答案 1 :(得分:0)

FWIW,我已经安装了SecureIIS多年,并且没有遇到任何这些问题。