摘要:在全球信息化時代到來的當今社會,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格式閱讀原文