电脑桌面
添加盘古文库-分享文档发现价值到电脑桌面
安装后可以在桌面快捷访问

ASP程序论文

来源:盘古文库作者:开心麻花2025-09-132

ASP程序论文(精选9篇)

ASP程序论文 第1篇

作为微软的最新一代产品, .NET框架提供了比较完善的安全保障体系, 通过验证、授权和身份模拟来保障应用程序的执行安全。这些设定保存在应用程序的web.config文件中。但是, 在构建ASP.NET应用程序的时候, 仅仅依靠这些自带的安全机制还是远远不够的。在代码本身的安全性、抗御攻击的能力等方面, 程序员应当担负更多的责任。因此, 程序员要尽量编写安全的代码。下面从编写ASP.NET应用程序出发, 讲述一些提高代码安全性的方法。

2. 限制用户的输入, 提高程序的安全性

很多安全隐患是由于用户没有正确地处理用户的输入而造成的。

要增强ASP.NET应用程序的安全性, 你就应该将用户输入信息的长度限制到一个适当的范围内。始终对一组预期值执行窗体输入验证以及字符串格式设置/类型验证。允许接受用户无限量的输入信息, 会给恶意用户进行缓冲区溢出的攻击造成机会, 这会导致应用程序崩溃。因此, 在用ASP.NET开发窗体页面的时候, 可以利用ASP.NET提供的规则验证控件 (RegularExpressionValidator) 来对用户的输入信息进行限制, 包括信息的长度、内容和格式, 如:设置属性ValidationExpression=“[A-Z 0-9 a-z]{5, }”。这样做可以限制用户输入的长度和内容, 减少攻击等等。除此之外, 验证控件还有很多种, 如:RangeValidator、CustomValidator等。信息存入数据库中以后, 用户在读取信息时, 这些代码就会执行。另外还可以在编写后台代码的时候来限制用户的输入, 比如限制用户在文本框中的输入长度, 可以编写函数来验证输入信息的长度, 过滤用户输入的敏感字符, 同时给用户相关提示;可以利用文本框的方法Substring截取一定长度的文本内容来限制输入信息。

3. 信息泄漏

在ASP.NET应用中, 几乎所有HTML页面的_VIEWSTATE隐藏域中都可以找到有关应用的信息。由于_VIEWSTATE是BASE 64编码的, 所以常常被忽略, 但黑客可以方便地解码BASE 64数据, 用不着花什么力气就可以得到_VIEWSTATE提供的详细资料。默认情况下, _VIEWSTATE数据将包含来自页面控件的动态数据、开发者在_VIEWSTATE中显式保存的数据以及上述数据的密码签字。为了让隐藏域更加安全, 可以设置EnableViewStatMAC=“true”, 启用_VIEWSTATE数据加密功能。然后, 将machineKey验证类型设置成3DES, 要求ASP.NET用Triple DES对称加密算法加密_VIEWSTATE数据。

4. 使用加密算法加密口令存储

无论在何种情况下, 应用程序都不应该以明文方式存储用户密码。在使用ASP.NET编写应用程序时, 我们可以使用“SHA1”或“MD5”加密算法对用户密码进行加密, 然后将加密后的值存储起来, 程序验证时, 首先对用户输入进行加密运算, 将得到的值与之前存储的值比较, 如果二者一致则验证通过。采用这种方法以后, 即使数据库被攻破, 用户密码仍然是安全的。ASP.NET中实现此加密功能的是System.Web.Security名字空间的类FormsAuthentication, 利用这个类的HashPasswordForStoringInConfigFile可以将用户提供的字符串变成乱码。下面是利用MD5进行加密的代码:

5. 脚本注入

脚本注入是一种比较常见的用户侵入模式。从浏览器的角度来看, 网页只是一个长字符串。浏览器会按顺序处理这个字符串, 在此过程中, 会显示某些字符, 同时按特殊规则解释其他字符 (如