[摘要] 本文以圖書電子商務(wù)網(wǎng)站建設(shè)為例,闡述了網(wǎng)站建設(shè)的需求分析、網(wǎng)站功能定位及功能的技術(shù)實(shí)現(xiàn)手段。
[關(guān)鍵詞] 電子商務(wù) 網(wǎng)站建設(shè) 系統(tǒng)開發(fā) 需求分析 功能實(shí)現(xiàn)
近年網(wǎng)站數(shù)量呈爆炸式增長,據(jù)統(tǒng)計(jì),當(dāng)前網(wǎng)站數(shù)量已經(jīng)突破11500個(gè),商務(wù)網(wǎng)站已達(dá)1200多家,網(wǎng)上商店林立,如人們熟悉的阿里巴巴,8848等勢頭喜人,新浪、網(wǎng)易等綜合網(wǎng)站也紛紛建立了電子商城。
圖書以其藏書豐富、便于檢索等特點(diǎn),非常適合進(jìn)行網(wǎng)上銷售。下面以圖書電子商務(wù)網(wǎng)站開發(fā)過程為例,闡述圖書電子商務(wù)網(wǎng)站建設(shè)中的系統(tǒng)需求分析及圖書電子商務(wù)網(wǎng)站系統(tǒng)功能技術(shù)實(shí)現(xiàn)。
一、系統(tǒng)的定位及需求分析
1.網(wǎng)站定位
面向圖書市場的電子商務(wù)網(wǎng)站。
2.網(wǎng)站功能模塊
(1)會(huì)員管理模塊:該模塊收集網(wǎng)站瀏覽潛在客戶的基本信息,建立的數(shù)據(jù)庫將紀(jì)錄瀏覽者的基本信息以便于網(wǎng)站統(tǒng)計(jì)分析,同時(shí),注冊會(huì)員還可以享受網(wǎng)站提供的個(gè)性化服務(wù)。
(2)圖書在線銷售模塊:該模塊是在網(wǎng)絡(luò)上建立一個(gè)虛擬的圖書購物商場,避免挑選書籍的煩瑣過程,使整個(gè)買書過程變得輕松、快捷、方便。
(3)圖書新聞發(fā)布模塊,網(wǎng)站要有對某些書籍促銷信息、新書籍發(fā)布和業(yè)界動(dòng)態(tài)信息進(jìn)行管理和發(fā)布的功能。它主要包括:新聞信息發(fā)布、新聞信息錄入、新聞信息修改刪除、新聞信息查詢等功能。
(4)網(wǎng)站后臺(tái)管理模塊:網(wǎng)站數(shù)據(jù)管理功能主要用于完成遠(yuǎn)程數(shù)據(jù)庫服務(wù)器維護(hù)功能,包括業(yè)務(wù)數(shù)據(jù)的分類與信息的添加、刪除、修改等功能,以及對網(wǎng)站操作員的管理等。
二、系統(tǒng)的實(shí)現(xiàn)手段及標(biāo)準(zhǔn)
1.后臺(tái)用戶管理實(shí)現(xiàn)手段
網(wǎng)站的所有頻道及其子欄目采用統(tǒng)一的用戶管理系統(tǒng),通過不同的權(quán)限機(jī)制,管理不同的版塊。增加網(wǎng)站的相對安全性及后期維護(hù)的分工明確性,例如:圖書新聞發(fā)布用戶組用戶僅有管理、添加圖書新聞的權(quán)限,沒有管理其他欄目的權(quán)限。
2.綜合技術(shù)實(shí)現(xiàn)手段
(1)本系統(tǒng)采用三層開發(fā)模式。第一層:客戶機(jī)是用戶與整個(gè)系統(tǒng)的接口??蛻舻膽?yīng)用程序精簡到一個(gè)通用的瀏覽器軟件。瀏覽器將HTML代碼轉(zhuǎn)化成圖文并茂的網(wǎng)頁;第二層:Web服務(wù)器將啟動(dòng)相應(yīng)的進(jìn)程來響應(yīng)一些請求,并動(dòng)態(tài)生成一串HTML代碼,其中嵌入處理的結(jié)果,返回給客戶機(jī)的瀏覽器;第三層:數(shù)據(jù)庫服務(wù)器的任務(wù)類似于C/S模式,負(fù)責(zé)協(xié)調(diào)不同的Web 服務(wù)器發(fā)出的SQL請求,管理數(shù)據(jù)庫。
(2)枝術(shù)實(shí)現(xiàn)標(biāo)準(zhǔn)。①數(shù)據(jù)表索引優(yōu)化,不同欄目數(shù)據(jù)分表存儲(chǔ),提升速度、提高容量;②網(wǎng)站導(dǎo)航要易于使用,確保新訪問者能夠通過網(wǎng)站導(dǎo)航簡單方便并且快速的找到他所要的信息。③采用微軟公司推薦的更為先進(jìn)的開發(fā)思想來開發(fā),前后臺(tái)代碼文件分開寫,對于ASP.NET 程序, 則可以分寫為.aspx和.cs兩個(gè)文件。
三、系統(tǒng)的功能實(shí)現(xiàn)
電子商務(wù)網(wǎng)站,很大一部分工作是數(shù)據(jù)訪問,也就是對各種不同數(shù)據(jù)源進(jìn)行數(shù)據(jù)操作。本系統(tǒng)采用Microsoft SQLServer 2000 作為該系統(tǒng)的后臺(tái)數(shù)據(jù)庫管理系統(tǒng)。ASP.NET通過ADO.NET進(jìn)行數(shù)據(jù)訪問, 并有功能強(qiáng)大的服務(wù)端控件對數(shù)據(jù)發(fā)布(顯示) 提供較完善的支持。與數(shù)據(jù)訪問相關(guān)的類被封裝在System.Data、System.Data.SqlClient、System.Data.OLEDB等命名空間內(nèi)。
1.數(shù)據(jù)庫連接
本系統(tǒng)采用對數(shù)據(jù)庫配置進(jìn)行統(tǒng)一管理的方法,將數(shù)據(jù)庫連接字符串信息寫于Web.config配置文件中,方便系統(tǒng)移植和管理。
2.公共類代碼實(shí)現(xiàn)
為了減少重復(fù)代碼書寫率,提高編程效率,本系統(tǒng)將公共代碼寫入一個(gè)公共類command.cs文件里面,command.cs類文件包括:getconn()、getdataset()、getspace()、getmd5()、getlogin()、getexec()、get_count()等自定義方法。
如:public bool getexec(string str)//執(zhí)行T-SQL操作語句并返回信息
{
SqlConnection conn = this.getconn();
SqlCommand dc = new SqlCommand(str, conn);
bool ok = 1;
conn.Open();
if (dc.ExecuteNonQuery() > 0)
{ ok = true; }
return ok;
}
3.服務(wù)器端的數(shù)據(jù)庫處理
Web Server與SQL后臺(tái)數(shù)據(jù)庫服務(wù)器的通訊通過類之間的調(diào)用來與數(shù)據(jù)庫進(jìn)行數(shù)據(jù)通訊。如update 數(shù)據(jù):
protected void ok_Click(object sender, EventArgs e)
{
sqlaccess access = new sqlaccess();
string str =\"update news set news_title='\" + access.getspace(str1) + \"',news_message='\" + access.getspace(str3)+ \"',s_title='\"+str+ \"' where id=\"+id;
if(access.getexec(str))
Response.Write(\"<Script Language=JavaScript>alert('修改成功?。?);window.open('xx.aspx');</Script>\");
Else
Response.Write(\"<Script Language=JavaScript>alert('修改時(shí)出錯(cuò),請重試??!'); </Script>\");
}
4.提高網(wǎng)站安全性,防止SQL注入
所謂SQL注入式攻擊,就是攻擊者把SQL命令插入到WEB表單的輸入?yún)^(qū)域或頁面請求的查詢字符串,欺騙服務(wù)器執(zhí)行惡意SQL命令。在某些表單中,用戶輸入的內(nèi)容直接用來構(gòu)造(或者影響)動(dòng)態(tài)SQL命令,或作為存儲(chǔ)過程的輸入?yún)?shù),這類表單特別容易受到SQL注入式攻擊。
本系統(tǒng)的防范措施:在利用表單輸入的內(nèi)容構(gòu)造SQL命令之前,把所有輸入內(nèi)容過濾,可以有效的防止ASP.NET應(yīng)用被注入式攻擊,過濾內(nèi)容可以包含以下幾種:
(1)符號(hào)過濾。如:單引號(hào)、百分號(hào)等等。
(2)對用戶輸入內(nèi)容中的所有連接數(shù)據(jù)庫字符過濾,防止攻擊者構(gòu)造出類似“select * from userlist where login=’name’—and password=’’“之類的查詢,其后半部分已被注釋掉,不再有效,攻擊者只要知道一個(gè)合法用戶名,根本不需要知道密碼,就能獲得訪問權(quán)限。
(3)加密用戶密碼,然后再將它與數(shù)據(jù)庫中保存的數(shù)據(jù)比較,用戶輸入的數(shù)據(jù)不再對數(shù)據(jù)庫有任何特殊的意義,從而也在一定程序上防止了攻擊者SQL注入,以及通過獲取Cookie、Session等方法獲取用戶密碼。
本文通過分層的開發(fā)模式在網(wǎng)站需求獲取、代碼分析,以及提高網(wǎng)站安全性等方面做了深入分析,利用微軟的.NET 技術(shù)及先進(jìn)的開發(fā)思想,設(shè)計(jì)開發(fā)出了一套運(yùn)行穩(wěn)定、性能良好、開發(fā)效率較高、開發(fā)成本低廉的圖書電子商務(wù)網(wǎng)站系統(tǒng)。
參考文獻(xiàn):
[1]MSND中文網(wǎng)站 http://www.microsoft.com/china/msdn/,2007
[2]Jeffrey Richter.Applied Microsoft.net Framework Programming,2002
[3]奚江華:ASP.NET 2.0 開發(fā)詳解———使用C#.電子工業(yè)出版社,2006