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

时间:2012-03-02 10:05:24

标签: c# asp.net

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

System.ArgumentException: Invalid postback or callback argument

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

1 个答案:

答案 0 :(得分:5)

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

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

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

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

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