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