摘 要: 安全是Web 应用程序的核心。虽然.NET 框架为ASP.NET 应用程序提供了比较完善的安全保障体系,但从代码层面来预防安全缺陷也是必不可少的,本文主要从限制用户输入、信息泄露、口令加密、脚本注入和无cookie会话几个方面,介绍提高ASP. NET 应用程序安全性的方法和技巧。
关键词:ASP.NET;应用程序;安全性;脚本
1.引言
作为微软的最新一代产品,.NET 框架提供了比较完善的安全保障体系,通过验证、授权和身份模拟来保障应用程序的执行安全。这些设定保存在应用程序的web.config 文件中。但是,在构建ASP.NET应用程序的时候,仅仅依靠这些自带的安全机制还是远远不够的。在代码本身的安全性、抗御攻击的能力等方面,程序员应当担负更多的责任。因此,程序员要尽量编写安全的代码。下面从编写ASP. NET 应用程序出发,讲述一些提高代码安全性的方法。
2.限制用户的输入,提高程序的安全性
很多安全隐患是由于用户没有正确地处理用户的输入而造成的。
要增强ASP. NET 应用程序的安全性,你就应该将用户输入信息的长度限制到一个适当的范围内。始终对一组预期值执行窗体输入验证以及字符串格式设置/类型验证。允许接受用户无限量的输入信息,会给恶意用户进行缓冲区溢出的攻击造成机会,这会导致应用程序崩溃。因此,在用ASP. NET 开发窗体页面的时候,可以利用ASP. NET 提供的规则验证控件(RegularExpressionValidator)来对用户的输入信息进行限制,包括信息的长度、内容和格式,如:设置属性ValidationExpression =“ Moore.ASP.NET 的安全漏洞,http:/ / www.builder.com.cn/ 2007/0902/ 485249.shtml,2007.9.2.