| 论坛登陆 注册 | 教程 笑话 影视 投稿 |
![]() |
|
||||||||||||||||||||||||||||||||||||||||
在ASP.NET中防止注入攻击 |
|
| www.xker.com 作者: 来源:博客网 加入日期:2006-4-2 8:25:31 | |
概述 : 你应该在程序中验证所有的不信任输入.你应该假定所有的用户输入都是非法的.用户可以在应用程序中提供表单字段,查询字串,客户端cookies和浏览器环境值比如用户代理字串和IP地址等. 弱输入校验通常为注入攻击提供了机会.下面是常见的利用弱输入校验或无输入校验进行攻击的手段. 注意 : 注入攻击可通过使用HTTP或HTTPS Secure Socket Layer(SSL) 连接. 传输加密技术不能用来防御攻击. 通常的输入验证方法总结如下.你应在所有的需要通过网络输入的地方进行验证,比如文本框和其它表单输入字段, 查询字串参数,cookies,服务器端变量和网络方法参数.注意,过滤策略应该是只允许正确的输入然后拒绝非法输入.这是因为定义正确的输入策略比过滤所有的非法输入要容易,那通常很难包括所有的非法输入. 通入如下几个方面验证输入内容: 步骤提要 通过以下步骤保护你的ASP.NET程序不受注入式攻击危害 : 下面的章节将对这些步骤进行详细讨论. 第一步.使用ASP.NET请求验证. 默认地,ASP.NET 1.1和2.0请求验证会对送至服务器的数据检测是否含有HTML标记元素和保留字符.这可以防止用户向程序中输入脚本.请求验证会对照一个有潜在威胁的字符串列表进行匹配,如果发现异常它会抛出一个HttpRequestValidationException类型的异常. 你可以在你的web.config文件中的<pages>元素中加入validateRequest="false" 或在单独的页面的@Pages元素里面设置ValidateRequest = "false"来禁用此项功能. 如果你想禁用请求验证功能,你可以仅在需要的页面禁用它.比如你在程序页面上包含一个可接受HTML格式输入的字段.编辑:xker.com 上一篇:ASP.NET中使用Caching 下一篇:没有了 |
||
| 【关闭窗口】【技术交流】【收藏此页】 |
|
| 评论 | |
设为首页 - 版权声明 - 广告服务 - 关于我们 - 联系我们 - 友情连接 |
|
| Copyright © 2003-2006 xker.com All rights reserved.小新技术网 合作广告QQ:12231446 | |
|
|
| 本页浏览次数: |