摘 要:本文將使用Asp語言和VbScript腳本語言實(shí)現(xiàn),后臺(tái)數(shù)據(jù)庫選用Access數(shù)據(jù)庫,可實(shí)行最基本的功能如:用戶注冊(cè)、管理用戶等。
關(guān)鍵詞:ASP;登錄;管理;數(shù)據(jù)庫;安全
中圖分類號(hào):TP311
1 ASP的簡介
要進(jìn)行用戶登錄及管理的操作需要Asp語言和VbScript腳本語言,其簡單的登錄界面如下所示:
Microsoft Active Server Pages即我們所稱的ASP,其實(shí)是一套微軟開發(fā)的服務(wù)器端腳本環(huán)境。Active Server Page是創(chuàng)建動(dòng)態(tài)網(wǎng)頁的一個(gè)很好的工具,它起一種編程語言的作用,可以利用它編寫動(dòng)態(tài)產(chǎn)生HTML的程序代碼。ASP也是服務(wù)器端腳本環(huán)境,可以用來創(chuàng)建交互式WEB頁并建立強(qiáng)大的的Web應(yīng)用程序。
2 用戶管理及登錄系統(tǒng)的組成
系統(tǒng)能夠根據(jù)登錄用戶的身份不同,賦予用戶不同的管理權(quán)限。系統(tǒng)有一個(gè)默認(rèn)的“系統(tǒng)管理員”Admin,由程序設(shè)計(jì)人員添加到數(shù)據(jù)庫中。
3 用戶登錄及管理系統(tǒng)的實(shí)現(xiàn)
3.1 數(shù)據(jù)庫的設(shè)計(jì)與連接
該系統(tǒng)采用Access數(shù)據(jù)庫。由系統(tǒng)的結(jié)構(gòu)可以看出,本系統(tǒng)中只使用一個(gè)Users數(shù)據(jù)表即可。Users數(shù)據(jù)表中存儲(chǔ)用戶的基本信息,包括登錄的用戶名、密碼、用戶姓名和電子郵箱。
通過數(shù)據(jù)庫文件DSN來連接數(shù)據(jù)庫,連接代碼如下(conn.asp):
<% Set conn=server.createobject(\"adodb.connection\")
Conn.open \"provider=Microsoft.jet.oledb.4.0;data source=\"server.mappth(\"user.mdb\") %>
3.2 用戶登錄模塊的實(shí)現(xiàn)
登錄該系統(tǒng)時(shí),用戶首先看到用戶登錄界面。在該界面中有“登錄”、“注冊(cè)”按鈕。
首先,我們要把“注冊(cè)”按鈕鏈接到一個(gè)表單驗(yàn)證頁面。核心代碼如下:
其次,設(shè)計(jì)普通用戶的登錄頁面。
3.3 用戶管理模塊的實(shí)現(xiàn)
在用戶管理模塊中,都要包含conn.asp。其核心語句為:
<!--#include file=\"conn.asp\"-->
<% set rs=server.createobject(“adodb.recorset”)
Rs.open \"select * from users\",conn,1,1
Do while not rs.eof %>
Response.write rs(\"ID\")
Response.write rs(\"UserName\")
Response.write rs(“Ename”) %>
(1)添加用戶模塊(Add.asp)。在用戶管理界面Ul.asp中,單擊[添加用戶信息]超級(jí)鏈接,將打開Add.asp文件,在該文件中,系統(tǒng)管理員可以添加用戶記錄。實(shí)現(xiàn)添加用戶的代碼:
<%
Xm=request.form(\"name\")
mm=request.form(\"pwd\")
Sql=\"insert into user(UserName,Userpwd) values(‘\"xm\"’,‘\"mm\"’)\"
Conn.execute sql
Response.redirect \"index.asp\"
%>
(2)修改用戶模塊(Xg.asp)。往往有些用戶在輸入信息時(shí)由于粗心會(huì)導(dǎo)致些錯(cuò)誤,或系統(tǒng)管理員想修改某些用戶的信息,需進(jìn)入用戶管理模塊,單擊要修改用戶對(duì)應(yīng)的[修改]超級(jí)鏈接,將打開Xg.asp文件,系統(tǒng)管理員可以修改用戶信息。修改用戶需以下程序:
<%
sql = \"Select * from User where Id = \"Uid '定義RecordSet 對(duì)象
Set rs = Server.CreateObject(\"ADODB.RecordSet\")
rs.Open sql,conn,1,3
%>
(3)刪除用戶模塊(Del.asp)。在用戶管理模塊頁面中,如果系統(tǒng)管理員想刪除某條用戶信息記錄,可以單擊該用戶對(duì)應(yīng)的[刪除]超級(jí)鏈接,可以打開Del.asp文件,從數(shù)據(jù)庫中刪除該用戶的記錄。
<% y=request.querystring (\"x\")
Sql=\"delete from users where id=\"y
Conn.execute sql
Response.redirect \"index.asp\" %>
(4)修改密碼模塊。每個(gè)用戶都有自己的登錄密碼,它決定著用戶是否可以登錄。在本系統(tǒng)中,要求用戶能夠修改自己的密碼,系統(tǒng)管理員也只能修改自己的密碼。對(duì)于密碼的修改需要獲取值、進(jìn)行判斷、數(shù)據(jù)更新等。即,
<% m1=reuqest.from(\"pw1\")
m2=reuqest.from(\"pw2\")
...
Sql=\"update users set userpwd='\"m2\"'where xm=\"UserName\" %>
3.4 退出模塊的實(shí)現(xiàn)
設(shè)計(jì)結(jié)束后,我們還將退出到原始的用戶管理模塊。即:
Response.Redirect “index.asp”
4 程序設(shè)計(jì)中的安全
設(shè)計(jì)一個(gè)用戶登錄及管理系統(tǒng),在其程序設(shè)計(jì)中安全也極為重要。(1)用戶名和口令是最基本的安全技術(shù)。必要時(shí)候可使用MD5算法來加密。(2)注冊(cè)驗(yàn)證??蓪?duì)用戶進(jìn)行分級(jí),及相關(guān)權(quán)限,使特定用戶訪問特定的資源,也可阻止授權(quán)用戶訪問此網(wǎng)站。(3)頁面緩沖管理。利用Response對(duì)象的Expires屬性和Clear方法可解決此問題。(具體設(shè)置:Response.expires=0 Rsponse.clear,expires表示緩存頁面的有效期,0表示立即過期,clear表示清空緩沖區(qū)。)(4)網(wǎng)頁過期管理。給網(wǎng)頁設(shè)定一個(gè)過期時(shí)間,保證了用戶的安全,也減少了服務(wù)器的壓力。(具體設(shè)置可以使用session.timeout=時(shí)間)。(5)程序錯(cuò)誤管理。在編程過程中要注意對(duì)異常數(shù)據(jù)的處理和意外事件的控制。
參考文獻(xiàn):
[1]頊宇峰.ASP網(wǎng)絡(luò)編程從入門到精通[J].北京:清華大學(xué)出版社,2006.
[2]鄧曉紅.基于ASP技術(shù)網(wǎng)站建設(shè)的安全性研究[J].計(jì)算機(jī)工程與應(yīng)用,2003(33).
作者簡介:范理澤(1980.07-),男,內(nèi)蒙古呼和浩特人,2008畢業(yè)于北京工商大學(xué)工商管理專業(yè),同濟(jì)大學(xué)軟件學(xué)院2012級(jí)軟件工程專業(yè)碩士研究生,呼和浩特市煙草專賣局職工,研究方向:軟件工程、計(jì)算機(jī)網(wǎng)絡(luò)。
作者單位:同濟(jì)大學(xué)軟件學(xué)院,上海 200092