我还有另一个相关问题没有答案:我的stackoverflow问题
但是,如果我设置,我的问题就会消失EnableEventValidation="false".
现在我的问题是,如果我设置它,它会成为一个非常大的问题MasterPage吗?
在所有参考设置中false,没有人提出除MSDN之外的安全问题.
有什么建议?
Tim*_*ora 15
删除事件验证会减少应用程序中的安全检查点数量.问题是,这有关系吗?
一个重要的简单例子
用户有两个选项,因为他们是站点上的"银牌"成员.他们制定了一个实际提交选项#3的请求,并获得了他们没有支付的"黄金"特权.
一个可能无关紧要的例子
用户可以制作请求,声明他们居住在不在页面下拉列表中的国家/地区.您正在运行一个事务性关系数据库,该数据库使用外键约束捕获此数据库.用户收到错误,没有数据持久或损坏.
我建议让您的数据库执行验证吗?当然不是.但在这个例子中,没有造成任何伤害.
如有疑问,请假设它确实重要,并且有人会找到破解代码的方法.
理想的方法
首先,确定事件验证失败的原因.根据我的经验,这通常是由于滥用页面/控件设计造成的.在15年以上的.NET开发中,我只见过事件验证打破了控件的设计.这种控制非常复杂,最终不得不重写.换句话说,如果事件验证导致控件出现问题,您可能应该重新考虑控件的设计,而不是禁用事件验证.
最后:
在服务器端识别并验证关键业务规则,并独立于ASP.NET.不要依赖框架来完成你的工作; 很容易认为安全性是"处理"的,并且在设计中留下了一个漏洞.
| 归档时间: |
|
| 查看次数: |
10416 次 |
| 最近记录: |