我有一个包含用户控件的页面,当用户单击图像按钮将其带到另一个页面时,显示他们单击的表行项目的详细信息时会发生错误:
System.ArgumentException: Invalid postback or callback argument
如果我设置EnableEventValidation =“false”,我可以阻止此错误发生。这是安全隐患吗?如果是这样,为什么?
答案 0 :(得分:5)
此功能可降低未经授权或恶意回发请求和回调的风险。强烈建议您不要禁用事件验证。
当EnableEventValidation属性设置为true时,ASP.NET会验证控件事件源自该控件呈现的用户界面[...]
请参阅http://msdn.microsoft.com/en-us/library/system.web.ui.page.enableeventvalidation.aspx
我想说如果你保持目标页面执行一个目的 - 即显示详细数据 - 并确保目标页面没有实现任何潜在的安全漏洞,你可以禁用此页面的EventValidation。不在整个网站的web.config中!
但我认为最好调查一下为什么会收到此错误!也许这是一个简单的解决方案,您可以使用Queryparameters重定向,而不是使用表单参数来指定要显示的数据...