ASP.NET 2.0 的 Event Validation
ASP.NET 2.0 增加了一个新特性: Event Validation. 这个特性会对 PostBack 的值进行验证,确保是合法的值。其实现原理是在页面 Render 的时候,ASP.NET 引擎会对控件的可能的值以及控件的 UniqueID 进行 hash 计算,得到一个值。页面里所有需要回发的控件的这些计算值就组成了一个列表,组合后放在隐藏字段 __EVENTVALIDATION 中。在页面回发后,会对这个字段的内容进行解包,然后重新计算对比 hash 值是否一致。这个做法的好处是能够防止一些模拟的 post 攻击,但也有一个不方便的地方,就是有时候如果需要用 javascript 修改页面里的一些内容,则回发后不会被当作合法的数据,而抛出一个异常。
另外,如果页面非常大或者网速缓慢,用户在还没有下载到 __EVENTVALIDATION 这个字段的时候就点下 submit,导致回发数据不完整,也会导致异常的发生。
解决这个问题的办法是在 Page 的 Directive 里面禁用 EventValidation,目前还没有针对单独控件进行禁用的办法。
原文地址:
http://odetocode.com/Blogs/scott/archive/2006/03/20/3145.aspx
ASP.NET 2.0 的 Event Validation相关推荐
- Scott Mitchell 的ASP.NET 2.0数据教程之三十九:: 在编辑和插入界面里添加验证控件...
原文 | 下载本教程中的编码例子 | 下载本教程的PDF版 导言 到目前为止的讨论编辑DataList的教程里,没有包含任何验证用户的输入,即使是用户非法输入- 遗漏了product的name或者负的 ...
- ASP.Net 2.0窗体身份验证机制详解(FormsAuthentication) (转载)
ASP.Net 2.0窗体身份验证机制详解(FormsAuthentication) 收藏 转自:http://www.aspxclub.com/l12/c_3689.html 本篇文章介绍了在ASP ...
- [转载] 使用 Web 标准生成 ASP.NET 2.0 Web 站点
参考链接: 使用super访问Java祖父母的成员 Stephen WaltherSuperExpert.com 适用于: Microsoft ASP.NET 2.0 (Beta 2) Microso ...
- ASP.NET 2.0数据教程之三十六 在DataList里编辑和删除数据
导言 概述插入.更新和删除数据 里我们已经学习了如何使用GridView等控件来插入,更新删除数据.通过ObjectDataSource和其它数据控件仅仅只需要在智能标签里勾一下checkbox就完成 ...
- 创建符合标准的、有语意的HTML页面——ASP.NET 2.0 CSS Friendly Control Adapters 1.0发布...
ASP.NET 2.0提供了非常多的Web开发中常用到的复杂控件,例如Menu.GridView.Login等.虽然这些控件使用方法极为简单,且功能异常强大,但若你查看一些由这些控件所生成的HTML代 ...
- ASP.NET 2.0的异步页面刷新真给劲
ASP.NET 2.0的异步页面刷新功能真得很酷,今天尝试用它解决我的一个应用问题,真是帮了大忙了. 我的页面要向后台的socket服务提交一个查询,首先这是一个可能长时间不返回的操作:其次为了拿到s ...
- 你可能已经知道或者不知道的ASP.NET 2.0技巧(转载)
1.在CallBack之后保持滚动条的位置 在Asp.Net1.1中,CallBack之后保持滚动条的位置是一件非常痛苦的事情,特别是页中有一个Grid并且想要编辑特定的行.为了不停留在想要得行,页面 ...
- Asp.Net MVC3.0网站统计登录认证的在线人数
前言 对于一个网站来说,统计在线人数是一个很重要的工作.平时也发现很多的网站论坛等都有在线人数的显示.对于一个网站如果在线人数很多,用户看到了这么个数字也是很了不起的事情.由于之前对于这个知识点只是知 ...
- Asp.Net 2.0中的客户端脚本
在使用 ASP.NET 的时候,我们仍然在许多情况下需要使用客户端脚本.以下是笔者根据自己的经验和一些粗浅的研究,对此作一个简要的总结. 一.在 HTML 里直接写脚本 这个方法是最简单的,直到如今我 ...
最新文章
- NGUI_Texture
- 记一次被js中的this坑的事情
- disk genius_如何预约Apple Store商店或Genius Bar
- 【图论】【高精】产生数(ssl 1021/ luogu 1037)
- 【腾讯Bugly干货分享】Android内存优化总结实践
- ae制作数据可视化_我如何精心制作真正可怕的数据可视化
- 人人都是程序员的节奏,Python 纳入高考
- Consul架构介绍
- mfc读取bmp文件_LIUNX 工程bmp.c 显示图片 开发板出来的图片只有一个角 求大佬解决...
- 什么是JAP,什么是ORM,与hibernate的关系
- lvm 的用法和小案例
- 计算机显示器出现黑屏分析
- V.PhyloMaker:维管束植物系统发育树构建实践
- Hive SQL之表与建表
- Python实现问卷星表单机刷
- 360无线wifi路由器连接到服务器,luyou.360.cn如何登录360路由器
- java开发深圳平均工资_深圳2017平均工资100173元!!这次你又又又拖后腿了吗!?...
- week10 day1 JavaScript
- oracle数据库与实例的区别与联系
- 双减背景下小学中年级语文单元整体作业设计的实践研究
热门文章
- DDoS***、CC***的***方式和防御方法
- Hawk使用补充说明
- 创建ssh 服务的镜像
- Skype for Business Server 2015-06-持久聊天服务器-3-配置
- 嵌入式开发之davinci--- ipnc中用到的cmem
- IE二级链接无法打开
- 经理=PD + Architect + PM + HR
- 区块链应用和法律规范
- Ubuntu 16.04服务器版查看DHCP自动分配的IP、网关、DNS
- MySQL 5.7 SYS SCHEMA