在这种情况下,安全风险设置EnableEventValidation =“false”吗?

我有一个包含用户控件的页面,当用户单击图像按钮将其带到另一个页面时,显示他们单击的表行项目的详细信息时会发生错误:

System.ArgumentException: Invalid postback or callback argument 

如果我设置EnableEventValidation =“false”,我可以阻止发生此错误。 这是安全隐患吗? 如果是这样,为什么?

此function可降低未经授权或恶意回发请求和回调的风险。 强烈建议您不要禁用事件validation。

当EnableEventValidation属性设置为true时,ASP.NETvalidation控件事件源自该控件呈现的用户界面[…]

请参阅http://msdn.microsoft.com/en-us/library/system.web.ui.page.enableeventvalidation.aspx

我会说,如果您保持目标页面执行单一目的 – 即显示详细数据 – 并确保目标页面没有实现任何潜在的安全漏洞,您可以禁用此页面的EventValidation。 不在整个网站的web.config中!

但我认为最好调查你为什么会收到这个错误! 也许这是一个简单的解决方案,您可以使用Queryparameters重定向,而不是表单参数来指定您想要显示的数据…