ASP网站后台安全保护初探

时间:2022-04-05 05:36:55

ASP网站后台安全保护初探

摘要:在全球信息化时代到来的当今社会,ASP动态网站被应用到社会生活中各个领域。随之而来的网站后台安全问题也日益突出,针对动态网站遇到的安全问题,只有制定具体解决方案,才能为网站运行的安全性提供切实的保障。

关键词:ASP;系统安全;网站后台

中图分类号:TP393文献标识码:A 文章编号:1009-3044(2008)17-21389-02

1 引言

随着世界信息化时代的到来,互联网已经成为人们生活密不可分的一个重要组成部分。越来越多的单位和个人在网络上搭建属于自己的网络平台。网站的制作技术也由原来的单一的静态技术向动态技术转变。目前,大部分的网站都搭配有自己的后台系统,以便及时进行信息更新和维护。ASP网站后台系统凭借其开发周期短,存取数据库方便,执行效率高而成为众多网站程序员的首选开发技术。但随之而来的安全性也越来越受到大家的关注。因此为ASP网站后台提供安全保护也变得极其重要。

2 后台实现

为了对ASP后台管理文件提供安全保护。首先我们设计一个后台登陆系统。后台登陆系统以ASP作为主要的编译环境,使用Access作为数据库。在Access数据库中建立一个数据库,设置两个字段name和password用于存储后台管理员用户名和密码。

下面开始编写ASP程序。本系统主要包括一个登陆界面程序(login.asp)、检查用户名和密码程序(check.asp),另外为防止黑客攻击还增加了验证码程序。

后台登陆界面程序login.asp代码如下:

<html>

<head>

<title>后台管理系统</title>

</head>

<body>

<form ha/nero“forml”method=“post”action=“check.asp”>

<table width=“450”height=“289”border=“0”cellpadding=“0”

cellspacing=“0”background=“images/admin.gif” align=“center”>=后台登陆界面图象

<tr>

<tr beight=“98”> </td>

<td v align=“top”>

<table cellspacing-=0 cellpadding=0 width=260 border=0 align=“center”>

<tbody>

<tr>

<td height=“28”style=“line-height:180%”>帐 ;&nhsp;号:

<inputname=“a_userid”type="text” class=“buttonl”id=“a_userid” size=“20”>

</td>

</tr>

<tr>

<tdheigllt=“28”style=“line-heigllt:180%”>密 ;

;码:

<input name=“a_pwd”type=“password”class=“buttonl”id=“a_pwd”size=“20”>

</td>

</tr>

</tbody>

</table>

</td>

<td> ;</td>

</tr>

</tr>

</td>

<div align=“center”><a href-”,"><font color-=-“#0000FF”>返回首页</font></a></div>

</td>

<td>

<input ype=image height=23 width=62src=“images/btn_index_ok.gif border=0name=submitl>//登陆按钮

<img onMouseOver=“event.srcElement.style.cursor=“hand”

onClick=cancelOheight=23 src=“images/btn_index_cancel.gif” width=62border=0>//取消按纽

</td>

</tr>

</table>

</body>

<html>

在上面的程序中我们用到一个检查用户名和密码程序check.asp。代码如下:

<%

dim name,password

name=request.from.(“name”)

dim.exec,conn,rs

password=request.from(“password”)

exec“select*from check where (name=“&name&”and password=“&password&”)”

setconn=server.createobject(“adodbconnection”)

conn.open”driver={microsoft access driver(*.mdb)}.Dbq=&server.mappath(”admin.mdb”)

set rs=server.createobject(“adodb.Recordset”)

rs.open exec,conn

if not rs.eofthen,

rs.Close

conn.Close

session(“checked”)=“yes”

session(“check”)=“right”

response.Redirect“admin.asp”//后台管理主程序

else

session(“checked”)=“no”

session(”check”)=“wrong”

response.Redirect“login.asp”

endif

%>

为了增加登陆系统的安全性。避免一些黑客通过穷举法和数据字典来盗取用户名和密码,我们还在登陆界面程序中增加验证码程序.实现方法是在login.asp中增加代码:

<tr>

<td height=“28”style=“line-height:180%”>附加码:

<input name=“a_rpwd”type=“text”class=“buttonl”id.“a_rpwd”

size=“20”> <img src=“GetCode.asp”>

<input type=“hidden”name=“action”value=“true”>

<input type=“hidden”‘name=“position”value=“<%=Position%>”>

/td>

</tr>

在check.asp中增加代码:aRePassWD=Trim{Request(“a_rpwd”)}

3 结论

制作完后台登陆系统后,我们还要对一些系统安全隐患进行设置。

(1)管理员用户名和密码的安全。尽量使用数字和字母相结合的用户名和密码,并且密码的长度最好大于6位。

(2)登陆界面程序(login.asp)的安全。在IIS中进行安全设置,使登陆页面只能在限定的IP地址上才能打开。这样的话就算黑客破译的密码。也无法实施破坏。

(3)数据库的安全。数据库的名字不要取的太简单,如data.mdb。另外,还可以把数据库的后缀改为.asp,这样黑客就不容易直接找到数据库。

(4)后台管理程序的安全。为了防止不是管理员的用户非法登陆。我们还要用到SESSION组件,把以下代码放入每个要登陆才能使用的程序头部,这样不是管理员的一般用户就无法打开这个页面:

<%

if not session("isaadmin")="yes"then

response.redirect"login.asp"

%>

(5)inc文件的安全。在动态网站中,Asp文件的数据库处理,很多时候是写成代码放在一个inc文件中.那些要用到数据库处理的Asp文件.只要在文件最前面加上一个包含inc文件的命令就可以了。对于inc文件隐患的问题.程序员可以对ine文件进行加密,或者把ine文件转换成asp文件保存。 通过以上措施,可以为Asp后台提供较好的安全保护。

参考文献:

[1] 汪晓平,钟军,ASP网络开发技术[M].人民邮电出版社,2006.

[2] 强锋科技,顼宇蜂,马军.ASP网络编程从入门到精通[M].清华大学出版社,2006.

[3] 张景峰.ASP程序设计教程[M].中国水利水电出版杜,2003.

[4] 宋彦浩.ASP建网技术源代码公开[M].中国水利水电出版社,2001.

[5] 蔡立军.计算机网络安全技术[M].中国水利水电出版社,2002.

注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文

上一篇:基于参数的通用知识表示与应用 下一篇:浅谈图书馆2.0的建设