惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

爱范儿
爱范儿
博客园_首页
W
WeLiveSecurity
S
Secure Thoughts
S
Security @ Cisco Blogs
Recent Commits to openclaw:main
Recent Commits to openclaw:main
Hugging Face - Blog
Hugging Face - Blog
www.infosecurity-magazine.com
www.infosecurity-magazine.com
H
Hacker News: Front Page
Project Zero
Project Zero
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
U
Unit 42
N
News and Events Feed by Topic
N
News and Events Feed by Topic
Hacker News - Newest:
Hacker News - Newest: "LLM"
Forbes - Security
Forbes - Security
T
Tor Project blog
I
Intezer
B
Blog
F
Full Disclosure
Security Archives - TechRepublic
Security Archives - TechRepublic
F
Fortinet All Blogs
Schneier on Security
Schneier on Security
T
Threat Research - Cisco Blogs
AI
AI
Google DeepMind News
Google DeepMind News
L
LINUX DO - 最新话题
Cloudbric
Cloudbric
L
Lohrmann on Cybersecurity
WordPress大学
WordPress大学
博客园 - 聂微东
雷峰网
雷峰网
P
Privacy International News Feed
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
PCI Perspectives
PCI Perspectives
Y
Y Combinator Blog
Spread Privacy
Spread Privacy
Simon Willison's Weblog
Simon Willison's Weblog
罗磊的独立博客
Vercel News
Vercel News
A
Arctic Wolf
The Register - Security
The Register - Security
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Microsoft Azure Blog
Microsoft Azure Blog
H
Heimdal Security Blog
Know Your Adversary
Know Your Adversary
P
Proofpoint News Feed
C
Cybersecurity and Infrastructure Security Agency CISA
P
Proofpoint News Feed

博客园 - fanrsh

Javascript's Event 的一点总结 [转]SQL Server2005 SQLCLR代码安全之权限(3) [转]SQL Server2005 SQLCLR代码安全之权限(2) [转]SQL Server2005 SQLCLR代码安全之权限(1) Remoting事件序列一:客户端触发服务器端事件 jquery入门1:简单收缩菜单 - fanrsh - 博客园 jQuery工作原理解析以及源代码示例 ASP.NET 页面生存周期概览 推荐一个快速反射调用的类 Visual Studio 2005的版本情况和新特征详细介绍 Creating and writing ASP.NET 2.0 custom Configuration Sections 给大家一个CSS编辑工具,结合JQUERY用的很爽啊 flv视频是如何转的? codesmith学习资源 CSS循序渐进系列 [更新中]Lucene.net,中文分词技术 ICTCLAS研究 .net sql连接字符串详解 socket专家好文收藏 jQuery学习资源
asp.net 事件验证
fanrsh · 2007-08-15 · via 博客园 - fanrsh

asp.net 事件验证

__EVENTVALIDATION 隐藏字段是 ASP.NET 2.0 的新增安全措施。该功能可以阻止由潜在的恶意用户从客户端发送的未经授权的请求。为了确保每个回发和回调事件来自于所期望的用户界面元素,页将在事件中添加额外的验证层。页通常通过将请求的内容与  __EVENTVALIDATION 字段中的信息进行匹配,来验证未在客户端添加额外的输入域,并且该值是在服务器已知的列表中选择的。页将在生成期间创建事件验证字段,而这是最不可能获取该信息的时刻。 像视图状态一样,事件验证字段包含散列值以防止发生客户端篡改。

控件使用 ClientScriptManager 对象的 RegisterEventForValidation 方法存储自己的安全回发相关信息。每个控件还可能会注册它自己的唯一 ID,但这种情况十分少见。列表控件还会存储列表中的所有值。支持事件验证的服务器控件通常在其  IPostBackDataHandler 接口的实现中调用 ValidateEvent 方法。如果验证失败,将引发安全异常。

可以基于每个页启用和禁用事件验证;每个控件类都通过 SupportsEventValidation 属性来启用事件验证。目前,还不能在特定控件实例上启用或禁用事件验证。

事件验证是为了仅限输入一组已知值而设置的防卫屏障。它只是将安全防护提升到更高水平,但本身不会阻止脚本注入式的攻击。

如果在启用 AJAX 的应用程序的环境中使用事件验证,则可能造成问题。在这类应用程序中,某些客户端工作可以临时创建新的输入元素,因而可能会由于出现未知元素而导致下一个回发失败。最好的应对方法是,一旦可能就在服务器上生成所有用户界面,并使用级联样式表显示属性在客户端上隐藏它。这样,您要使用的任何用户界面都将注册到事件验证字段。如果编写自定义控件,则应当用 SupportsEventValidation 属性设置该控件,以启用此功能