2024年3月13日发(作者:)

摘要:本文对Asp技术及用Asp技术的WEB服务器的安全问题进行分析和总结,从而

提高使用ASP技术的WEB开发和应用的安全性。

关键词:ASP;Web服务器;数据库

Asp是微软推出的基于WEB编程的服务器端脚本环境,它可以完成以往CGI程序的

所有功能。ASP可以轻松地实现对

页面内容的动态控制,根据不同的浏览者,显示不同的页面内容。ASP可包含HTML

标签,也可以直接存取数据库及使用无限扩充的ActiveX控件,因此在程序编制上要比

HTML方便而且更富有灵活性。目前,IIS+ASP+SQL(或Access)方案已成为中小型企

业构建自己网上信息系统的首选方案。虽然Asp具有快速开发能力,但Asp也存在很多不

容忽视的安全漏洞。

一、ASP程序设计安全技术

Asp程序设计的安全主要涉及三个方面:Asp源代码的安全、Asp程序设计的安全和

数据库安全。

源代码的安全:

(1)保证ASP源码的安全的主要技术是Asp脚本加密技术。常用方法有两种:一是

ASP2DLL技术。其基本思想是利用VB6.0提供的Activexdll对象将Asp代码进行封装,

编译为DLL文件,在Asp程序中调用该DLL文件。二是利用微软提供的Script Encoder

加密软件对Asp页面进行加密。

(2)置合适的脚本映射。应用程序的脚本映射保证了Web服务器不会意外地下载

Asp文件的源代码,但不安全或有错误的脚本映射易导致Asp源代码泄漏。因此,应将用

不到的有一定危险性的脚本映射删掉(如*.htr文件及*.htw,*.ida,*.idq等索引文件)。

2.程序设计中的安全

(1)用户名、口令机制。用户名、口令是最基本的安全技术,在Asp中常采用Form

表单提交用户输入的帐号和密码,与用户标识数据库中相应的字段进行匹配,在必要的场

合可以使用MD5算法来加密用户输入的密码,可以保证在线路被窃听的情况下依然保证数

据的安全,保护用户口令的安全。

(2)注册验证。为了网站资源的安全性和易于管理,可以对用户进行分级,给定权限,

使特定用户访问特定的资源群,也可以阻止未授权用户使用网站的资源,这就需要对用户

进行注册验证操作。在ASP中,我们可以利用Session对象和Http头信息来实现此类安

全控制。当访问者通过身份验证页面后,就把Session对象的Sessionid属性作为一个

Session变量存储起来,当访问者试图导航到一种有效链接的页面时,可将当前的

Sessionid与存储在Session对象中的ID进行比较,如果不匹配,则拒绝访问。如在Session

(“id”)中保存着第一次链接的Sessionid,<%if nid<>session(“id”)

then %>’拒绝访问。

(3)网页过期管理。考虑到有可能用户在使用网页的过程中,有可能会长时间离开计

算机处理别的事情,这样会给别有用心的人有可乘之机,所以应该给网页一个过期时间。

这样不仅保证了用户的安全,也可以减少服务器的链接数,减少服务器压力。可以使用

t=时间,过了这么长时间网页就失效了,前提是你用一个session值来判

断登录状态如t=20。