我们已经厌倦了在我们的网络应用中获得有关“无效回发或回调参数”的例外情况。什么情况会导致此错误?
在与用户交谈之后,我们确定了一个可能的原因是当他们点击导致回发的内容时,然后在初始回发完成之前点击其他内容。
禁用事件验证有什么危害?为了它的价值,我们安装了SecureIIS以提高安全性。
更新:在某些地方,我们使用Javascript修改某些控件值,例如下拉列表选项(我们这样做是为了提供更好的用户体验 - 减少回发次数)。这可能导致错误。我们对所有用户输入都进行了严格的编辑,因此我们将继续禁用EventValidation。谢谢!
答案 0 :(得分:8)
事件验证会验证值是否未被手动篡改,例如超出相关控制允许的范围。例如,如果您有一个包含三个选项1,2或3的下拉列表...如果用户(或恶意中间人)将值更改为4,则验证将失败。
只要您在每个处理程序中进行自己的检查以确保传入的值有效,并且您的代码的构造方式使得意外输入不会导致任何事情发生(最安全),您将可以使用验证关闭。
答案 1 :(得分:0)
FWIW,我已经安装了SecureIIS多年,并且没有遇到任何这些问题。