zoukankan
html css js c++ java
asp.net 事件验证
asp.net 事件验证
__EVENTVALIDATION 隐藏字段是 ASP.NET 2.0 的新增安全措施。该功能可以阻止由潜在的恶意用户从客户端发送的未经 授权的请求。为了确保每个回发和回调事件来自于所期望的用户界面元素,页将在事件中添加额外的验证层。页通常通过将请求的内容与 __EVENTVALIDATION 字段中的信息进行匹配,来验证未在客户端添加额外的输入域,并且该值是在服务器已知的列表中选择的。页将在生成期 间创建事件验证字段,而这是最不可能获取该信息的时刻。 像视图状态一样,事件验证字段包含散列值以防止发生客户端篡改。
控件使用 ClientScriptManager 对象的 RegisterEventForValidation 方法存储自己的安全回发相 关信息。每个控件还可能会注册它自己的唯一 ID,但这种情况十分少见。列表控件还会存储列表中的所有值。支持事件验证的服务器控件通常在其 IPostBackDataHandler 接口的实现中调用 ValidateEvent 方法。如果验证失败,将引发安全异常。
可以基于每个页启用和禁用事件验证;每个控件类都通过 SupportsEventValidation 属性来启用事件验证。目前,还不能在特定控件实例上启用或禁用事件验证。
事件验证是为了仅限输入一组已知值而设置的防卫屏障。它只是将安全防护提升到更高水平,但本身不会阻止脚本注入式的攻击。
如果在启用 AJAX 的应用程序的环境中使用事件验证,则可能造成问题。在这类应用程序中,某些客户端工作可以临时创建新的输入元素,因而可能 会由于出现未知元素而导致下一个回发失败。最好的应对方法是,一旦可能就在服务器上生成所有用户界面,并使用级联样式表显示属性在客户端上隐藏它。这样, 您要使用的任何用户界面都将注册到事件验证字段。如果编写自定义控件,则应当用 SupportsEventValidation 属性设置该控件,以启 用此功能
查看全文
相关阅读:
无锁数据结构(Lock-Free Data Structures)
Grouping Sets:CUBE和ROLLUP从句
SQL Server里Grouping Sets的威力
第18/24周 乐观并发控制(Optimistic Concurrency)
SQL Server里PIVOT运算符的”红颜祸水“
数据库收缩:NOTRUNCATE与TRUNCATEONLY
在SQL Server里为什么我们需要更新锁
SQL Server里的自旋锁介绍
SQL Server里的闩锁介绍
配置内存中OLTP文件组提高性能
原文地址:https://www.cnblogs.com/ruanbl/p/776695.html
最新文章
SQL Server等待事件新解
性能压测,SQL查询异常
K3 Cloud的数据中心加载异常处理
SQL Server里简单参数化的痛苦
如何找出你性能最差的SQL Server查询
SQL Server里等待统计(Wait Statistics)介绍
UNIQUEIDENTIFIER列上的统计信息
为什么我还不推荐内存中OLTP给用户
第20/24周 死锁(Deadlocking)
内存中OLTP(Hekaton)里的事务日志记录
热门文章
SQL Serve里你总要去改变的3个配置选项
SQL Server里的INTERSECT ALL
SQL Server里的INTERSECT
内存中OLTP(Hekaton)的排序警告
SQL Server窗口函数:ROWS与RANGE
我如何调优SQL Server查询
第19/24周 锁升级(Lock Escalations)
可串行化隔离级别里的锁升级
可重复读隔离级别里的可能死锁
SQL Server里因丢失索引造成的死锁
Copyright © 2011-2022 走看看