版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 個(gè)人日志系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)</p><p><b> 摘 要</b></p><p> 在互聯(lián)網(wǎng)越來(lái)越普及的今天,信息在人們的日常生活中占據(jù)了非常重要的地位,個(gè)人日志系統(tǒng)是基于ASP和SQL Server的一種在Internet上公開發(fā)布的快速更新的個(gè)人網(wǎng)站系統(tǒng),使用者可以簡(jiǎn)單快速地完成個(gè)人網(wǎng)頁(yè)的創(chuàng)建、發(fā)布和更新,是一個(gè)方便的供廣大互聯(lián)網(wǎng)用
2、戶相互交流的平臺(tái)。它可以是單用戶的,也可以是多用戶的,本文主要研究單用戶系統(tǒng),主要包括前臺(tái)瀏覽、評(píng)論日志功能,后臺(tái)發(fā)表日志的功能、相關(guān)的管理功能和修改賬戶信息等功能。本文主要介紹了該系統(tǒng)的基本功能及具體設(shè)計(jì)實(shí)現(xiàn)方法:系統(tǒng)分析中系統(tǒng)的結(jié)構(gòu)圖分析了系統(tǒng)各模塊的功能;在系統(tǒng)設(shè)計(jì)中,詳細(xì)地展現(xiàn)了系統(tǒng)各個(gè)功能模塊的設(shè)計(jì)思路、所需的數(shù)據(jù)庫(kù)表及表字段等;最后介紹系統(tǒng)的安全功能——賬號(hào)密碼加密的必要性及具體實(shí)現(xiàn)方法。</p><p&
3、gt; 關(guān)鍵詞:個(gè)人日志系統(tǒng);ASP;SQL;加密</p><p> Design and Implementation of Personal Journal System</p><p><b> Abstract</b></p><p> Nowadays, with the increasingly popularity of
4、the Internet, information has taken a main role in people's daily life, Personal Journal System is a kind of quickly renewed personal website system based on ASP and SQL Server which can be publicly released in Inter
5、net. The user can easily and fleetly do the work such as establishing, publishing a personal website and renewing it. It's a convenient platform for largeness Internet users to communicate with each other. It can be
6、single-user system or </p><p> Key words: Personal Journal System; ASP; SQL; Encrypt</p><p><b> 目 錄</b></p><p> 論文總頁(yè)數(shù): 20頁(yè)</p><p><b> 1引言1<
7、;/b></p><p><b> 2開發(fā)概述1</b></p><p> 2.1開發(fā)背景1</p><p> 2.2系統(tǒng)概述1</p><p> 2.3開發(fā)工具概述2</p><p><b> 3系統(tǒng)分析4</b></p>
8、<p> 3.1系統(tǒng)功能流程圖4</p><p> 3.2系統(tǒng)模塊劃分4</p><p> 3.3系統(tǒng)功能設(shè)計(jì)5</p><p><b> 4數(shù)據(jù)庫(kù)設(shè)計(jì)6</b></p><p> 4.1數(shù)據(jù)庫(kù)表之間的關(guān)系6</p><p> 4.2數(shù)據(jù)庫(kù)表的詳細(xì)設(shè)計(jì)
9、7</p><p><b> 5系統(tǒng)實(shí)現(xiàn)8</b></p><p> 5.1前臺(tái)的實(shí)現(xiàn)8</p><p> 5.2后臺(tái)的實(shí)現(xiàn)9</p><p><b> 6系統(tǒng)安全13</b></p><p> 6.1系統(tǒng)安全簡(jiǎn)介13</p>&l
10、t;p> 6.2加密算法描述13</p><p> 6.3系統(tǒng)安全實(shí)現(xiàn)15</p><p><b> 7系統(tǒng)測(cè)試15</b></p><p> 7.1訪問(wèn)首頁(yè)15</p><p> 7.2后臺(tái)管理16</p><p><b> 結(jié) 論18&l
11、t;/b></p><p><b> 參考文獻(xiàn)18</b></p><p><b> 致 謝19</b></p><p><b> 聲 明20</b></p><p><b> 引言</b></p><p
12、> 個(gè)人日志系統(tǒng)是一種十分簡(jiǎn)易的傻瓜式個(gè)人信息發(fā)布方式,讓任何人都可以像免費(fèi)電子郵件的注冊(cè)、書寫和發(fā)送一樣,簡(jiǎn)單快速地完成個(gè)人網(wǎng)頁(yè)的創(chuàng)建、發(fā)布和更新,用戶可以通過(guò)該系統(tǒng)發(fā)布日志、圖片等各種信息,是一個(gè)方便的供廣大互聯(lián)網(wǎng)用戶相互交流的平臺(tái)。</p><p> 一般一個(gè)日志系統(tǒng)就是一個(gè)頁(yè)面,它通常由簡(jiǎn)短而經(jīng)常更新的日志文章構(gòu)成,所有文章都是按照日期排列,現(xiàn)在流行的博客就是日志系統(tǒng)的具體表現(xiàn)??瓷先テ降瓱o(wú)奇,
13、毫無(wú)可炫耀之處,但它可以讓每個(gè)人零成本地創(chuàng)建自己的網(wǎng)絡(luò)媒體,每個(gè)人都可以隨時(shí)把自己的想法和靈感在日志系統(tǒng)站點(diǎn)上更新。它的人性化和平民視角使得它提供的消息更貼近人們的生活,而且它搜集的新聞資料大多是第一手資料。簡(jiǎn)言之,該系統(tǒng)具有友好的用戶界面、簡(jiǎn)單易懂的操作方式、強(qiáng)大的功能,有廣泛的應(yīng)用空間和無(wú)可比擬的價(jià)值。 </p><p><b> 開發(fā)概述</b></p><p&g
14、t;<b> 開發(fā)背景</b></p><p> 個(gè)人日志系統(tǒng)是近年來(lái)非常流行的一種快速更新的個(gè)人站點(diǎn),最初,人們將每天瀏覽網(wǎng)站的心得和意見記錄下來(lái),并予以公開,來(lái)給其它人參考。但隨著日志系統(tǒng)的快速擴(kuò)張,它的目的與最初已相去甚遠(yuǎn)。目前網(wǎng)絡(luò)上數(shù)以千計(jì)的日志系統(tǒng)用戶發(fā)表和張貼網(wǎng)絡(luò)日志的目的有很大的差異,不過(guò),由于溝通方式比電子郵件、討論群組更簡(jiǎn)單和容易,日志系統(tǒng)已成為家庭、公司、部門和團(tuán)隊(duì)之
15、間越來(lái)越盛行的溝通工具,因?yàn)樗仓饾u被應(yīng)用在企業(yè)內(nèi)部網(wǎng)絡(luò),更有人稱它是繼Email、BBS、ICQ之后出現(xiàn)的第四種網(wǎng)絡(luò)交流方式。</p><p><b> 系統(tǒng)概述</b></p><p> 個(gè)人日志系統(tǒng)基本上有下列三種類型:</p><p> 1、個(gè)人雜志型。作者針對(duì)某些主題,每天貼出最新報(bào)導(dǎo),其中有個(gè)人觀察、網(wǎng)絡(luò)文章鏈接及讀者響應(yīng)等,
16、其中也有很多跟技術(shù)有關(guān)的網(wǎng)絡(luò)日志。</p><p> 2、傳統(tǒng)日記型。作者隨時(shí)寫下每日生活中的所思所感,同時(shí)也加入生活照片,是目前很多大學(xué)生等青年人群非常喜愛(ài)的一種網(wǎng)絡(luò)工具。</p><p> 3、網(wǎng)絡(luò)導(dǎo)覽型。作者以推薦當(dāng)日值得一讀的網(wǎng)絡(luò)文章、網(wǎng)站、網(wǎng)絡(luò)日志為主要任務(wù),相當(dāng)于過(guò)濾網(wǎng)絡(luò)內(nèi)容的義工,基本形式就是網(wǎng)絡(luò)資源的連接,并加入作者的觀點(diǎn)與評(píng)論,讀者也可參與討論。</p>
17、<p> 當(dāng)然也有以上述基本類型混合而成的網(wǎng)絡(luò)日志,總體而言,它們的特色都是個(gè)人化,更新快,有很多網(wǎng)絡(luò)鏈接。網(wǎng)絡(luò)日志之所以這么紅,最主要的原因還是這種工具非常方便,收費(fèi)便宜、易于使用,有的甚至完全免費(fèi),用戶從申請(qǐng)到建立好自己的網(wǎng)絡(luò)日志,只要短短十?dāng)?shù)分鐘。</p><p><b> 開發(fā)工具概述</b></p><p> 本系統(tǒng)所用的開發(fā)工具是ASP和
18、SQL server 2000。</p><p><b> ASP</b></p><p> 最初,互聯(lián)網(wǎng)的應(yīng)用只局限于數(shù)據(jù)的共享,隨著客戶機(jī)/服務(wù)器模式的引入,以及Java語(yǔ)言、VBScript和JavaScript等腳本語(yǔ)言和ASP技術(shù)的應(yīng)用,互聯(lián)網(wǎng)的使用方式發(fā)生了根本的變革,網(wǎng)頁(yè)也開始精彩起來(lái),許多條理清晰、交互性強(qiáng)、內(nèi)容豐富的網(wǎng)頁(yè)深深吸引著網(wǎng)絡(luò)用戶。<
19、;/p><p> 在網(wǎng)絡(luò)程序設(shè)計(jì)中,ASP(Active Server Pages)是服務(wù)器端的一種未經(jīng)編譯的開放式程序。程序設(shè)計(jì)者可按ASP的要求來(lái)編寫功能強(qiáng)大的網(wǎng)絡(luò)應(yīng)用程序,并實(shí)現(xiàn)服務(wù)器端的數(shù)據(jù)處理及數(shù)據(jù)上傳與下載。這種程序通常被稱作“ASP程序”(或“ASP網(wǎng)頁(yè)”)。一個(gè)ASP程序通常包括HTML標(biāo)簽語(yǔ)句、文本和腳本程序等。由于這類程序是以“.asp”為擴(kuò)展名存放的,因此對(duì)應(yīng)的文件可稱作“ASP文件”。<
20、;/p><p> 網(wǎng)絡(luò)開發(fā)者使用腳本語(yǔ)言和HTML語(yǔ)言設(shè)計(jì)完成一個(gè)ASP程序后,可通過(guò)文本編輯器輸入到機(jī)內(nèi),并將它保存在Web服務(wù)器的外部存儲(chǔ)器上(文件的擴(kuò)展名為.asp)。準(zhǔn)確地說(shuō),應(yīng)當(dāng)將ASP文件置于Web發(fā)布主目錄(C:\Inetpub\wwwroot)下,或者該主目錄的一個(gè)子目錄下。</p><p> 當(dāng)客戶從瀏覽器上讀取該ASP文件時(shí),將向Web服務(wù)器發(fā)出HTTP請(qǐng)求,服務(wù)器收到
21、該請(qǐng)求后調(diào)用ASP,讀取請(qǐng)求的文件,執(zhí)行其中的腳本命令,生成標(biāo)準(zhǔn)的Web頁(yè)回送給客戶的瀏覽器。此過(guò)程如下圖所示:</p><p> 該圖中,服務(wù)器與客戶機(jī)可以通過(guò)互聯(lián)網(wǎng)絡(luò)連接起來(lái),使它們成為互聯(lián)網(wǎng)絡(luò)的兩個(gè)端點(diǎn),實(shí)際上它們可以是同一局域網(wǎng)絡(luò)內(nèi)的兩臺(tái)計(jì)算機(jī),或者是同一臺(tái)計(jì)算機(jī)。</p><p> 當(dāng)我們?cè)诎惭b了IIS的電腦上打開瀏覽器,并在地址欄中輸入127.0.0.1時(shí),該計(jì)算機(jī)就已經(jīng)扮
22、演了兩個(gè)角色:作為客戶機(jī)發(fā)送瀏覽網(wǎng)頁(yè)的請(qǐng)求、作為Web服務(wù)器響應(yīng)客戶機(jī)的請(qǐng)求。</p><p> 在Windows XP上安裝IIS的過(guò)程:</p><p> 將Windows XP的系統(tǒng)光盤放入機(jī)內(nèi),打開【控制面板】選擇【添加/刪除程序】選項(xiàng),在彈出的選項(xiàng)框中選擇【添加/刪除Windows組件】選項(xiàng)卡中點(diǎn)選,然后點(diǎn)擊“下一步”進(jìn)行安裝。</p><p> 安
23、裝完成后,在c盤下會(huì)出現(xiàn)名為“Inetpub”的文件夾。</p><p> SQL server 2000</p><p> SQL Server 是一個(gè)關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng),是Microsoft推出的數(shù)據(jù)管理與分析軟件。SQL Server 2000是為迅速提供可伸縮性電子商務(wù)、企業(yè)及數(shù)據(jù)倉(cāng)庫(kù)解決方案而開發(fā)的完整數(shù)據(jù)庫(kù)與分析軟件產(chǎn)品。SQL Server 2000定位于Internet
24、背景下的數(shù)據(jù)庫(kù)應(yīng)用,它為用戶的Web應(yīng)用提供了一款完善的數(shù)據(jù)管理和數(shù)據(jù)分析解決方案,極大地縮短了用戶開發(fā)電子商務(wù)、數(shù)據(jù)倉(cāng)庫(kù)應(yīng)用的時(shí)間。SQL Server 2000還提供對(duì)XML(Extensible Markup Language擴(kuò)展標(biāo)示語(yǔ)言支持)和HTTP的全方位支持。 </p><p> 數(shù)據(jù)庫(kù)blog 登陸名sa 密碼hyde</p><p><b> 系統(tǒng)分析<
25、;/b></p><p><b> 系統(tǒng)功能流程圖</b></p><p><b> 系統(tǒng)模塊劃分</b></p><p> 該系統(tǒng)由前臺(tái)模塊和后臺(tái)管理模塊構(gòu)成:</p><p><b> 表1 功能模塊</b></p><p> 因?yàn)閭€(gè)
26、人日志是個(gè)人展現(xiàn)自己的一個(gè)網(wǎng)上舞臺(tái),在這里日志所有者可以自由地把自己的個(gè)性和才能展現(xiàn)給大家,并能夠同來(lái)訪者交流,所以它的功能劃分會(huì)相對(duì)比較簡(jiǎn)單些。</p><p><b> 系統(tǒng)功能設(shè)計(jì)</b></p><p> 前面已經(jīng)介紹了系統(tǒng)的流程與模塊劃分,這里將詳細(xì)描述各個(gè)功能模塊:</p><p><b> 表2 前臺(tái)功能列表<
27、;/b></p><p><b> 表3 后臺(tái)功能列表</b></p><p><b> 數(shù)據(jù)庫(kù)設(shè)計(jì)</b></p><p><b> 數(shù)據(jù)庫(kù)表之間的關(guān)系</b></p><p> 本系統(tǒng)需要設(shè)計(jì)的數(shù)據(jù)庫(kù)表單有:</p><p><b
28、> 表4 系統(tǒng)數(shù)據(jù)表</b></p><p> 這些數(shù)據(jù)表之間的關(guān)系如下:</p><p><b> 數(shù)據(jù)庫(kù)表的詳細(xì)設(shè)計(jì)</b></p><p> 表5 用戶信息表(blog)</p><p> 表6 類別信息表(category)</p><p> 表7 日志信息表
29、(article)</p><p> 表8日志評(píng)論信息表(feedback)</p><p> 表9 圖片信息表(picture)</p><p> 表10 鏈接信息表(href)</p><p><b> 系統(tǒng)實(shí)現(xiàn)</b></p><p><b> 前臺(tái)的實(shí)現(xiàn)</b&g
30、t;</p><p> 根據(jù)前面的描述,前臺(tái)共有4個(gè)模塊和相關(guān)的公共模塊,統(tǒng)一在首頁(yè)導(dǎo)航,首頁(yè)頁(yè)面布置如下: </p><p><b> ?。?)日志功能模塊</b></p><p> 日志版塊可以說(shuō)是本系統(tǒng)里最復(fù)雜的一個(gè)前臺(tái)功能塊,文章的首頁(yè)程序要求把最近的日志的時(shí)間計(jì)算出來(lái),然后把此時(shí)間段的日志列出。</p><p&
31、gt; 在首頁(yè)還列出了日志的評(píng)論、全部瀏覽的入口和訪問(wèn)量,在日志版塊的功能中,還有日志詳細(xì)內(nèi)容頁(yè)、日志發(fā)表評(píng)論和日志列表頁(yè)。</p><p> 該模塊包括日志首頁(yè)、日志內(nèi)容顯示頁(yè)、日志評(píng)論顯示頁(yè)等頁(yè)面。</p><p><b> (2)圖片功能模塊</b></p><p> 圖片功能模塊同日志功能模塊很相似,也分為首頁(yè)、圖片內(nèi)容查看、圖
32、片列表頁(yè),但沒(méi)有搜索程序,圖片可以通過(guò)在首頁(yè)單擊直接進(jìn)入圖片內(nèi)容頁(yè)。</p><p><b> (3)鏈接功能模塊</b></p><p> 鏈接功能模塊比較簡(jiǎn)單,只有一個(gè)列表程序頁(yè),它提供了日志空間所有者感興趣的網(wǎng)站的鏈接,與訪問(wèn)者共享,因此只需要一個(gè)頁(yè)面把所有的鏈接列出來(lái)就可以了。</p><p><b> ?。?)公共程序塊
33、</b></p><p> 公共程序塊的內(nèi)容包括:日志空間的標(biāo)識(shí)logo和一級(jí)菜單,這在前面的程序頁(yè)面規(guī)劃中已經(jīng)提到過(guò)了;還有就是日志空間頁(yè)面左邊的搜索、熱點(diǎn)評(píng)論、日志統(tǒng)計(jì)和最新鏈接,這4部分分別放在不同的程序文件中。</p><p><b> 后臺(tái)的實(shí)現(xiàn) </b></p><p> 系統(tǒng)的后臺(tái)主要體現(xiàn)管理的功能,是對(duì)前臺(tái)顯
34、示信息的管理。個(gè)人網(wǎng)上日志系統(tǒng)源于個(gè)人使用的需求,因此本系統(tǒng)是以單用戶為研究對(duì)象,如有需要以后可擴(kuò)展為多用戶系統(tǒng)。</p><p> 單用戶的日志系統(tǒng),其重點(diǎn)在于完成信息的管理、分類和思想的交流,不需要復(fù)雜的權(quán)限驗(yàn)證,所以后臺(tái)功能包括發(fā)表信息和系統(tǒng)設(shè)置兩大部分。</p><p> (1)發(fā)表信息:發(fā)表日志、鏈接、圖片及相關(guān)的管理。</p><p> (2)系統(tǒng)
35、設(shè)置:管理分類、管理評(píng)論、管理賬號(hào)、退出登錄。</p><p> 后臺(tái)管理功能流程圖如下:</p><p><b> ?。?)登錄驗(yàn)證 </b></p><p> 日志系統(tǒng)管理者進(jìn)入后臺(tái)時(shí),需要驗(yàn)證身份。輸入用戶名和密碼后,單擊【login】按鈕完成登錄。提交表單時(shí),通過(guò)js腳本驗(yàn)證不能提交空的用戶名和密碼:</p><
36、p> function EW_onError(form_object, input_object, object_type, error_message) </p><p><b> {</b></p><p> alert(error_message);</p><p> if (object_type ==
37、"RADIO" || object_type == "CHECKBOX") {</p><p> if (input_object[0])</p><p> input_object[0].focus();</p><p><b> else</b></p><p> in
38、put_object.focus();</p><p><b> }</b></p><p> else if (!(document.all && document.all["_"+input_object.name+"_editor"]))</p><p><b>
39、{ </b></p><p> input_object.focus(); </p><p><b> } </b></p><p> if (object_type == "TEXT" || object_type == "PASSWORD" || object_type == &
40、quot;TEXTAREA" || object_type == "FILE") </p><p><b> {</b></p><p> if (!(document.all && document.all["_"+input_object.name+"_editor"]))&
41、lt;/p><p> input_object.select();</p><p><b> }</b></p><p> return false;</p><p><b> }</b></p><p> 密碼驗(yàn)證程序是通過(guò)驗(yàn)證數(shù)據(jù)庫(kù)表blog中的賬號(hào)來(lái)判斷是否是系
42、統(tǒng)用戶:</p><p> userid = Request.Form("userid")</p><p> passwd = md5(Request.Form("passwd"))</p><p> Set rs = conn.Execute( "Select * from [Blog] where [Use
43、rname] = '" & userid & "'")</p><p> If Not rs.Eof Then</p><p> If UCase(rs("Password")) = UCase(passwd) Then</p><p> Session("blog_s
44、tatus_User") = rs("Username")</p><p> Session("blog_status_UserID") = rs("BlogID")</p><p> validpwd = True</p><p><b> End If</b><
45、;/p><p><b> End If</b></p><p><b> rs.Close</b></p><p> Set rs = Nothing</p><p> conn.Close</p><p> Set conn = Nothing</p>
46、<p><b> End If</b></p><p> (2)管理日志/鏈接/圖片</p><p> 這些都是需要發(fā)布的信息,其中日志的信息最復(fù)雜,這里主要說(shuō)明管理日志功能,其他的只是數(shù)據(jù)表字段不同,管理操作的實(shí)現(xiàn)方法很相似。</p><p> 在這個(gè)功能模塊中,主要對(duì)日志空間中的日志進(jìn)行添加、編輯、刪除、拷貝等操作,這些操
47、作需要在日志列表中完成,列表是管理操作的載體,結(jié)果也在列表中體現(xiàn)。比如,添加新日志后,刷新列表就可以看到。</p><p> 列表需要解決兩個(gè)問(wèn)題:快速搜索和分頁(yè)。</p><p> (1)快速搜索的難點(diǎn)在于對(duì)輸入的關(guān)鍵字的處理,以及結(jié)果列表的排序。</p><p> (2)分頁(yè)的難點(diǎn)在于準(zhǔn)確快速地顯示每頁(yè)的內(nèi)容。</p><p>
48、通過(guò)對(duì)session的驗(yàn)證,判斷管理者的權(quán)限,失敗則返回登錄頁(yè)面:</p><p> <% If Session("blog_status") <> "login" Then Response.Redirect "login.asp" %></p><p> 為了使日志列表能及時(shí)刷新,需要告訴瀏覽器不要
49、緩存此頁(yè)面。調(diào)用response對(duì)象的相關(guān)方法來(lái)禁止瀏覽器緩存此頁(yè),具體程序見aspmkrfn.asp,該程序是日志系統(tǒng)的公共函數(shù)文件,包括格式化時(shí)間、調(diào)試、上傳文件等。</p><p> 快速搜索功能,由\admin\articlelist.asp完成,首先定義了完成搜索功能必需的變量:dbwhere、masterdetailwhere、searchwhere、a_search、b_search及wherec
50、lause,用于處理搜索條件,建立SQL查詢字符串。然后連接數(shù)據(jù)庫(kù),執(zhí)行查詢語(yǔ)句,得到記錄集(recordset對(duì)象)。這樣就完成了搜索功能的大部分,剩下的就是把記錄集按照順序顯示出來(lái)。</p><p> 顯示記錄集,需要與頁(yè)面的輸出格式打交道,一般都是把記錄集顯示為列表。如果記錄集中的數(shù)據(jù)太多,就需要分頁(yè)顯示,分頁(yè)的算法是,通過(guò)頁(yè)數(shù)和分頁(yè)量計(jì)算出當(dāng)前頁(yè)的記錄在記錄集中的首位置和末位置,每翻一頁(yè),根據(jù)提交的頁(yè)數(shù)
51、,重新計(jì)算首尾記錄的位置。</p><p><b> (3)管理分類</b></p><p> 管理分類的界面與日志列表相似,也包括搜索、添加、查看、修改、刪除、拷貝等功能,只是分類信息是存在分類表中的,信息保存的地方和字段不同,程序原理相同,參照日志管理列表編寫代碼,可以按照關(guān)鍵字搜索分類名稱,需要注意的是,分類表的表名為category,相關(guān)字段的名稱要對(duì)應(yīng)。
52、</p><p><b> ?。?)管理評(píng)論</b></p><p> 評(píng)論是用戶在前臺(tái)瀏覽日志等信息時(shí)發(fā)表的,在后臺(tái)可以查看其內(nèi)容,也可以選擇刪除某些評(píng)論。評(píng)論列表與前面的列表界面相似,不同在于評(píng)論只能查看和刪除。對(duì)評(píng)論列表進(jìn)行操作時(shí),修改的數(shù)據(jù)表feedback中的數(shù)據(jù),刪除評(píng)論時(shí),支持批量刪除。</p><p><b> (
53、5)管理賬號(hào)</b></p><p> 本系統(tǒng)為單用戶系統(tǒng),只有唯一一個(gè)管理員,實(shí)際上不需要賬號(hào)列表,在此做個(gè)示意,多用戶的系統(tǒng)就需要進(jìn)行管理員權(quán)限分級(jí),高級(jí)賬號(hào)可以管理普通賬號(hào)列表。</p><p> 賬號(hào)列表和其他列表并沒(méi)有太大區(qū)別,主要是顯示的字段信息不同,與之相關(guān)的數(shù)據(jù)表是blog,代碼與前面列表也大同小異,用戶查看賬號(hào)詳細(xì)信息,包括發(fā)表日志的數(shù)量統(tǒng)計(jì),也可以修改自
54、己賬號(hào)的密碼及其他信息。</p><p><b> 系統(tǒng)安全</b></p><p><b> 系統(tǒng)安全簡(jiǎn)介</b></p><p> 系統(tǒng)的安全性除了網(wǎng)絡(luò)安全外,最重要的就是保障用戶口令的安全性,避免其被網(wǎng)絡(luò)黑客竊取進(jìn)而盜用用戶權(quán)限,這就需要對(duì)用戶口令進(jìn)行加密存放。在單用戶系統(tǒng)中,加密比較簡(jiǎn)單,只需要配合用戶修改信
55、息時(shí)重新將修改后的用戶口令加密后存放。如果是在多用戶系統(tǒng)中,則還要涉及用戶注冊(cè)時(shí)對(duì)注冊(cè)時(shí)的口令進(jìn)行加密存放。</p><p> 在現(xiàn)階段,我們一般認(rèn)為存在兩種加密方式,單向加密和雙向加密。雙向加密是加密算法中最常用的,它將我們可以直接理解的明文數(shù)據(jù)加密為我們不可直接理解的密文數(shù)據(jù),也可以將密文數(shù)據(jù)解密為明文數(shù)據(jù);單向加密則只能對(duì)數(shù)據(jù)進(jìn)行加密,也就是說(shuō),沒(méi)有辦法對(duì)加密以后的數(shù)據(jù)進(jìn)行解密。在實(shí)際中的一個(gè)應(yīng)用就是數(shù)據(jù)
56、庫(kù)中的用戶信息加密,當(dāng)用戶創(chuàng)建一個(gè)新的賬號(hào)或者密碼,他的信息不是直接保存到數(shù)據(jù)庫(kù),而是經(jīng)過(guò)一次加密以后再保存,這樣,即使這些信息被泄露,也不能立即理解這些信息的真正含義。 </p><p> 本系統(tǒng)采用的是md5加密算法。</p><p><b> 加密算法描述</b></p><p> md5就是采用單向加密的加密算法,對(duì)于md5而言,
57、有兩個(gè)特性是很重要的,第一是任意兩段不同的明文數(shù)據(jù),加密以后的密文不能是相同的;第二是任意一段明文數(shù)據(jù),經(jīng)過(guò)加密以后,其結(jié)果必須永遠(yuǎn)是不變的。前者的意思是不可能有任意兩段明文加密以后得到相同的密文,后者的意思是如果我們加密特定的數(shù)據(jù),得到的密文一定是相同的。</p><p> md5的全稱是message-digest algorithm 5(信息-摘要算法),在90年代初由mit laboratory for
58、 computer science和rsa data security inc的ronald l. rivest開發(fā)出來(lái),經(jīng)md2、md3和md4發(fā)展而來(lái)。它的作用是讓大容量信息在用數(shù)字簽名軟件簽署私人密鑰前被"壓縮"成一種保密的格式(就是把一個(gè)任意長(zhǎng)度的字節(jié)串變換成一定長(zhǎng)的大整數(shù))。不管是md2、md4還是md5,它們都需要獲得一個(gè)隨機(jī)長(zhǎng)度的信息并產(chǎn)生一個(gè)128位的信息摘要。雖然這些算法的結(jié)構(gòu)或多或少有些相似,但m
59、d2的設(shè)計(jì)與md4和md5完全不同,那是因?yàn)閙d2是為8位機(jī)器做過(guò)設(shè)計(jì)優(yōu)化的,而md4和md5卻是面向32位的電腦。</p><p> 對(duì)md5算法簡(jiǎn)要的敘述可以為:md5以512位分組來(lái)處理輸入的信息,且每一分組又被劃分為16個(gè)32位子分組,經(jīng)過(guò)了一系列的處理后,算法的輸出由四個(gè)32位分組組成,將這四個(gè)32位分組級(jí)聯(lián)后將生成一個(gè)128位散列值。 </p><p> 程序主要用func
60、tion過(guò)程實(shí)現(xiàn)加密邏輯與結(jié)果返回,用sub過(guò)程實(shí)現(xiàn)加密算法的具體過(guò)程,典型代碼如下:</p><p> Private Function LShift(lValue, iShiftBits)</p><p> If iShiftBits = 0 Then</p><p> LShift = lValue</p><p> Exit
61、Function</p><p> ElseIf iShiftBits = 31 Then</p><p> If lValue And 1 Then</p><p> LShift = &H80000000</p><p><b> Else</b></p><p> LShi
62、ft = 0</p><p><b> End If</b></p><p> Exit Function</p><p> ElseIf iShiftBits < 0 Or iShiftBits > 31 Then</p><p> Err.Raise 6</p><p>&
63、lt;b> End If</b></p><p> If (lValue And m_l2Power(31 - iShiftBits)) Then</p><p> LShift = ((lValue And m_lOnBits(31 - (iShiftBits + 1))) * m_l2Power(iShiftBits)) Or &H80000000<
64、;/p><p><b> Else</b></p><p> LShift = ((lValue And m_lOnBits(31 - iShiftBits)) * m_l2Power(iShiftBits))</p><p><b> End If</b></p><p> End Funct
65、ion</p><p><b> 系統(tǒng)安全實(shí)現(xiàn)</b></p><p> 系統(tǒng)安全實(shí)現(xiàn)主要就是把md5加密文件嵌入需要用到加密的程序文件中,先在該程序文件中加入如下語(yǔ)句:</p><p> <!--#include file="md5.asp"--></p><p> 可以把md5
66、算法文件當(dāng)作一個(gè)函數(shù),在需要加密的字段使用該“函數(shù)”即可。在本系統(tǒng)中有兩處需要用到md5加密,一是用戶修改密碼時(shí)(blogedit.asp):</p><p> tmpFld = md5(Trim(x_Password))</p><p> If Trim(tmpFld) & "x" = "x" Then tmpFld = Null<
67、;/p><p> rs("Password") = tmpFld</p><p> 這樣用戶輸入的密碼就被加密存放在數(shù)據(jù)庫(kù)中,可以防止黑客盜取密碼,即使得到了,也是加密后的密文,無(wú)法使用。</p><p> 二是用戶登錄后臺(tái)驗(yàn)證密碼時(shí)(login.asp):</p><p> userid = Request.Form
68、("userid")</p><p> passwd = md5(Request.Form("passwd"))</p><p> 因?yàn)橥瑯拥拿魑慕?jīng)過(guò)md5加密后得到的密文相同,用戶登錄時(shí)輸入的密碼經(jīng)過(guò)md5加密與數(shù)據(jù)庫(kù)里存放的加密密碼對(duì)比即可判斷是否為系統(tǒng)用戶。</p><p><b> 系統(tǒng)測(cè)試</b
69、></p><p> 經(jīng)過(guò)正確配置系統(tǒng)運(yùn)行環(huán)境IIS、ODBC數(shù)據(jù)源和數(shù)據(jù)庫(kù)用戶,該系統(tǒng)運(yùn)行情況如下:</p><p><b> 訪問(wèn)首頁(yè)</b></p><p> 在IE瀏覽器地址欄中輸入地址:http://127.0.0.1/index.asp即可訪問(wèn)站點(diǎn)首頁(yè),界面如下:</p><p><b>
70、; 圖6 站點(diǎn)首頁(yè)</b></p><p> 其中日志版塊和圖片版塊首頁(yè)列出了最新日志及最新圖片,而鏈接首頁(yè)則列出了所有鏈接;點(diǎn)擊進(jìn)入查看日志頁(yè)面,可以瀏覽評(píng)論、發(fā)表評(píng)論,截圖如下:</p><p><b> 圖7 評(píng)論日志</b></p><p><b> 后臺(tái)管理</b></p>&l
71、t;p> 在首頁(yè)點(diǎn)擊【登錄】,輸入正確的用戶名和密碼即可進(jìn)入后臺(tái)管理界面:</p><p><b> 圖8 后臺(tái)管理界面</b></p><p> 在后臺(tái)可以進(jìn)行添加或者修改日志/圖片/鏈接的操作,例如添加日志:</p><p><b> 圖9 添加日志</b></p><p> 管
72、理評(píng)論功能(支持批量刪除):</p><p><b> 圖10 刪除評(píng)論</b></p><p><b> 管理賬號(hào):</b></p><p> 圖11 修改用戶信息</p><p> 經(jīng)過(guò)測(cè)試,系統(tǒng)運(yùn)行正常,能實(shí)現(xiàn)所設(shè)計(jì)的功能,包括瀏覽、評(píng)論日志,用戶登錄、修改用戶信息和相關(guān)的日志/圖片/
73、鏈接管理功能,系統(tǒng)達(dá)到預(yù)期目標(biāo)。</p><p><b> 結(jié) 論</b></p><p> 經(jīng)過(guò)幾個(gè)月的努力,終于完成了個(gè)人日志系統(tǒng)的設(shè)計(jì)實(shí)現(xiàn)以及安全保護(hù)功能,它是利用ASP和SQL Server 2000開發(fā)的用于個(gè)人用戶發(fā)布信息的簡(jiǎn)易平臺(tái)。通過(guò)對(duì)個(gè)人日志的起源到對(duì)其特點(diǎn)和應(yīng)用前景的描述,概括了日志系統(tǒng)的基本概念;系統(tǒng)開發(fā)實(shí)現(xiàn)了瀏覽日志、發(fā)表評(píng)論的前臺(tái)功
74、能和后臺(tái)管理日志/圖片/評(píng)論/鏈接、修改賬號(hào)信息、賬號(hào)密碼安全保護(hù)等基本功能,詳細(xì)描述了系統(tǒng)運(yùn)行的情況和使用操作步驟。當(dāng)然這些都是一個(gè)個(gè)人日志系統(tǒng)最基本的功能,還可以在此基礎(chǔ)上增加更多實(shí)用功能,比如郵件系統(tǒng)等。</p><p> 由于以前很少應(yīng)用這方面的知識(shí),所以也存在很多不足之處,比如搜索功能不完善,系統(tǒng)如果拓展為多用戶則會(huì)擁有更加強(qiáng)大的功能,這些都是有待進(jìn)一步開發(fā)的后續(xù)工作。</p><
75、p><b> 參考文獻(xiàn)</b></p><p> [1]馬軍.ASP網(wǎng)絡(luò)編程從入門到精通[M].北京:清華大學(xué)出版社,2006。</p><p> [2]方睿,刁仁宏,吳四九.網(wǎng)絡(luò)數(shù)據(jù)庫(kù)原理及應(yīng)用[M].成都:四川大學(xué)出版社,2005。</p><p> [3]許曰濱,程亮.ASP網(wǎng)絡(luò)編程實(shí)例[M].北京:人民郵電出版社,2001
76、。</p><p> [4]萬(wàn)峰科技.ASP網(wǎng)站開發(fā)四“酷”全書[M]. 北京:電子工業(yè)出版社,2005。</p><p> [5]鄧文淵,陳惠貞,陳俊榮.ASP與網(wǎng)絡(luò)數(shù)據(jù)庫(kù)技術(shù)[M].北京:中國(guó)鐵道出版社,2003。</p><p> [6]屈喜龍,朱杰.ASP+SQL Server開發(fā)動(dòng)態(tài)網(wǎng)站實(shí)例薈萃.北京:機(jī)械工業(yè)出版社,2006</p>
77、<p> [7]潘清芳.使用MD5 加密數(shù)據(jù)庫(kù)系統(tǒng)的設(shè)計(jì)[J].第3 卷第2 期:77-143</p><p><b> 致 謝</b></p><p> 本文是在戴維中老師的熱情關(guān)心和指導(dǎo)下完成的,他淵博的知識(shí)和嚴(yán)謹(jǐn)?shù)闹螌W(xué)作風(fēng)使我受益匪淺,對(duì)順利完成本課題起到了極大的作用。在此向他表示我最衷心的感謝!</p><p>
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)論文——個(gè)人日志系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 畢業(yè)論文—— 個(gè)人日志系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 個(gè)人日志系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 個(gè)人日志系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 個(gè)人日程管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)-畢業(yè)論文
- 畢業(yè)論文范文——個(gè)人日記系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 個(gè)人日志管理系統(tǒng)
- 手機(jī)日志系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)生畢業(yè)論文
- L2002212070_任俊_個(gè)人日志系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).doc
- L2002212070_任俊_個(gè)人日志系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).doc
- 個(gè)人日程管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)-畢業(yè)答辯ppt
- 個(gè)人博客系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 畢業(yè)論文
- 個(gè)人博客系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文
- 基于個(gè)人日程管理系統(tǒng)的個(gè)人日記的設(shè)計(jì)與實(shí)現(xiàn)
- 個(gè)人日記系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 畢業(yè)論文--基于android平臺(tái)的個(gè)人日歷的設(shè)計(jì)與開發(fā)
- 畢業(yè)論文個(gè)人網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)
- 個(gè)人博客的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文
- 基于jsp的個(gè)人博客系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[畢業(yè)論文
- 基于jsp的個(gè)人博客系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[畢業(yè)論文]
評(píng)論
0/150
提交評(píng)論