zoukankan
html css js c++ java
asp.net 事件验证
asp.net 事件验证
__EVENTVALIDATION 隐藏字段是 ASP.NET 2.0 的新增安全措施。该功能可以阻止由潜在的恶意用户从客户端发送的未经 授权的请求。为了确保每个回发和回调事件来自于所期望的用户界面元素,页将在事件中添加额外的验证层。页通常通过将请求的内容与 __EVENTVALIDATION 字段中的信息进行匹配,来验证未在客户端添加额外的输入域,并且该值是在服务器已知的列表中选择的。页将在生成期 间创建事件验证字段,而这是最不可能获取该信息的时刻。 像视图状态一样,事件验证字段包含散列值以防止发生客户端篡改。
控件使用 ClientScriptManager 对象的 RegisterEventForValidation 方法存储自己的安全回发相 关信息。每个控件还可能会注册它自己的唯一 ID,但这种情况十分少见。列表控件还会存储列表中的所有值。支持事件验证的服务器控件通常在其 IPostBackDataHandler 接口的实现中调用 ValidateEvent 方法。如果验证失败,将引发安全异常。
可以基于每个页启用和禁用事件验证;每个控件类都通过 SupportsEventValidation 属性来启用事件验证。目前,还不能在特定控件实例上启用或禁用事件验证。
事件验证是为了仅限输入一组已知值而设置的防卫屏障。它只是将安全防护提升到更高水平,但本身不会阻止脚本注入式的攻击。
如果在启用 AJAX 的应用程序的环境中使用事件验证,则可能造成问题。在这类应用程序中,某些客户端工作可以临时创建新的输入元素,因而可能 会由于出现未知元素而导致下一个回发失败。最好的应对方法是,一旦可能就在服务器上生成所有用户界面,并使用级联样式表显示属性在客户端上隐藏它。这样, 您要使用的任何用户界面都将注册到事件验证字段。如果编写自定义控件,则应当用 SupportsEventValidation 属性设置该控件,以启 用此功能
查看全文
相关阅读:
远程连接mysql root账号报错:2003-can't connect to MYSQL serve
php定位并且获取天气信息
PHP Ajax 跨域问题最佳解决方案
AngularJS 过滤器
AngularJS自定义指令及指令配置项
php获取微信的openid
SVN服务器
redis的LRU策略理解
golang入门案例之http client请求
golang入门案例之SOCKET
原文地址:https://www.cnblogs.com/ruanbl/p/776695.html
最新文章
LVS 服务常用算法
DBA 必知的 MYSQL 备份与还原方法
忘记WiFi密码不用怕,一个命令轻松查看你连接过的所有WiFi及密码!
Adobe Flash Player不是最新版本
nginx配置文件详解
用户访问网站的基本流程
delphi 通过doscommand组件和ffmpeg转换mjpg,并压缩mp4文件
vue element admin 代理配置
pc或者微信上用pdf.js在线预览pdf和word
oracle 快速批量插入复杂数据的内容
热门文章
oracle 函数判断字符串是否包含图片格式
oracle锁表,杀死进程
无法嵌入互操作类型
oracle实用sql之将逗号分割的字符串分割多个列
oracle与sqlserver部分区别
iis配置出现处理程序“PageHandlerFactory-Integrated”在其模块列表中有一个错误模块“ManagedPipelineHandler”问题
for xml path 将单表中一个字段用逗号分隔
微信公众号分享
php获取农历、节日、节气
微信JSSDK分享功能实现
Copyright © 2011-2022 走看看