版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、成績良好本科畢業(yè)論文(設(shè)計)題目: 基于web的自行車租賃管理系統(tǒng)設(shè)計與實現(xiàn) 學(xué)生姓名 234 學(xué) 號 234 指導(dǎo)教師 234 院 系 信息科學(xué)與技術(shù)學(xué)院 專 業(yè) 計算機(jī)科學(xué)與技術(shù) 年 級 2004級 2008年05 月25日誠信聲明本人鄭重聲明:本人所呈交的畢業(yè)論文(設(shè)計),是在導(dǎo)師的指導(dǎo)下獨(dú)立進(jìn)行研究所取得的成果。畢業(yè)論文(設(shè)計)中凡引用他人已經(jīng)發(fā)表或未發(fā)表的成果、數(shù)據(jù)、觀點等,均已明確注明出處。除文中已經(jīng)注明引用的內(nèi)容外,不包含任何其他個人或集體已經(jīng)發(fā)表或在網(wǎng)上發(fā)表的論文。特此聲明。論文作者簽名: 吳昌梅 日 期: 2008 年 5月 25日目 錄摘 要互聯(lián)網(wǎng)發(fā)展速度迅猛,電子商務(wù)成為
2、21世紀(jì)商務(wù)發(fā)展道路上發(fā)展的一大熱點。隨著寬帶網(wǎng)絡(luò)的普及以及網(wǎng)絡(luò)互聯(lián)網(wǎng)絡(luò)應(yīng)用方式的發(fā)展,電子商務(wù)正以前所未有的速度對傳統(tǒng)商務(wù)方式以理論造成沖擊,并對以往傳統(tǒng)商務(wù)方式占主導(dǎo)的領(lǐng)域進(jìn)行滲透。該基于web自行車租賃系統(tǒng)架構(gòu)是基于asp和sql server 2000數(shù)據(jù)庫,以iis為web服務(wù)器,采用了使用b/s結(jié)構(gòu),綜合使用了vbscript、html和javascript語言編成的系統(tǒng)。本文論述了基于web自行車租賃系統(tǒng)的設(shè)計思想和設(shè)計過程。主要包括系統(tǒng)前臺顯示,分為數(shù)據(jù)瀏覽,自行車預(yù)訂,客戶相關(guān)的一些租賃信息查看。系統(tǒng)的后臺操作,分為用戶管理,系統(tǒng)管理。關(guān)鍵詞:租賃管理系統(tǒng),數(shù)據(jù)庫,asp,i
3、is abstractwith the rapid devdlopment of internet,the e-business has become a hot in business development road in 21th century.with the popularity of broadband internet network and application forms of development, electronic commerce is at an unprecedented speed of traditional business approach to
4、the theory of an impact, and traditional business methods-dominated areas of infiltration.the system is based on asp to configure bicycle lease system based on web with the database of ms sql server2000, with iis for web server and have adopted structure of b/s, synthesize the system that has used v
5、bscript, html and javascript language volume. this paper has discussed design thought and the design course based on web bicycle lease system. this paper include mainly systematic proscenium show that divide into data to glance over, booked bicycle management , look over tenancy information that cus
6、tomer are related to rent. the systematic operation of backstage supporter divides into user management, system management.key words: lease management systems, databases, asp ,iis第一章 緒論1.1技術(shù)簡介1.1.1 iis簡介 iis是internet information server的縮寫,它是微軟公司主推的服務(wù)器, iis與windownt server完全集成在一起,因而用戶能夠利用windows nt s
7、erver和ntfs內(nèi)置的安全特性,建立強(qiáng)大,靈活而安全的internet和intranet站點。 iis支持http,ftp以及smtp協(xié)議,通過使用cgi和isapi,iis可以得到高度的擴(kuò)展。iis還支持與語言無關(guān)的腳本編寫和組件,通過iis,開發(fā)人員就可以開發(fā)新一代動態(tài)的,富有魅力的web站點。iis不需要開發(fā)人員學(xué)習(xí)新的腳本語言或者編譯應(yīng)用程序,iis完全支持asp,vbscript,jscript開發(fā)軟件以及java,它也支持cgi和wincgi,以及isapi擴(kuò)展和過濾器。1.1.2 asp簡介asp是active server page的縮寫,意為“活動服務(wù)器網(wǎng)頁”。其功能在于
8、可以使用它來開發(fā)運(yùn)行在windows服務(wù)器平臺上的動態(tài)網(wǎng)頁和網(wǎng)站。網(wǎng)頁是使用html定義的文檔。建立好信息網(wǎng)頁后,文本文件和圖像可通過web服務(wù)器傳送給用戶,web服務(wù)器從磁盤中讀取它們并且把輸出轉(zhuǎn)換成在網(wǎng)路中傳送的html。在客戶端,瀏覽器解釋傳送到的信息流,并將其轉(zhuǎn)換成為顯示的頁面。asp技術(shù)通過在靜態(tài)html內(nèi)容中嵌入服務(wù)器端腳本,實現(xiàn)頁面的動態(tài)改變。web服務(wù)器從磁盤上讀取含有服務(wù)端腳本的網(wǎng)頁,將網(wǎng)頁發(fā)送給客戶端瀏覽器之前 ,先對其中的服務(wù)器端腳本進(jìn)行解釋,輸出用戶定制的信息內(nèi)容,從而產(chǎn)生動態(tài)網(wǎng)頁。asp賴以運(yùn)行的基礎(chǔ)是windows web服務(wù)器iis或者pws。asp使用的編程語言
9、是腳本語言,可以使用vbscript和jscript。1.1.3 sql server 2000簡介數(shù)據(jù)庫是數(shù)據(jù)管理的最新技術(shù),是計算機(jī)科學(xué)的重要分支。今天,信息資源已成為各個部門的重要財富和資源。建立滿足各級部門信息處理要求的行之有效的信息系統(tǒng)也成為一個企業(yè)或組織生存和發(fā)展的重要條件。因此,作為信息系統(tǒng)核心和數(shù)據(jù)庫得到越來越廣泛的應(yīng)用,從小型單項事務(wù)處理系統(tǒng)到大型信息系統(tǒng),從聯(lián)機(jī)事務(wù)到聯(lián)機(jī)分析原理,從一般企業(yè)管理到計算機(jī)輔助設(shè)計與制造,計算機(jī)集成制造系統(tǒng),辦公信息系統(tǒng),地理信息系統(tǒng)等,越來越多新的應(yīng)用領(lǐng)域采用數(shù)據(jù)庫存存儲和處理他們的信息資源。sql server 2000 是一個全面的數(shù)據(jù)庫
10、平臺,使用集成的商業(yè)智能 (bi) 工具提供了企業(yè)級的數(shù)據(jù)管理。sql server 2000 數(shù)據(jù)庫引擎為關(guān)系型數(shù)據(jù)和結(jié)構(gòu)化數(shù)據(jù)提供了更安全可靠的存儲功能,使您可以構(gòu)建和管理用于業(yè)務(wù)的高可用和高性能的數(shù)據(jù)應(yīng)用程序。sql server 2000 數(shù)據(jù)引擎是本企業(yè)數(shù)據(jù)管理解決方案的核心。此外 sql server 2000 結(jié)合了分析、報表、集成和通知功能。這使您的企業(yè)可以構(gòu)建和部署經(jīng)濟(jì)有效的 bi 解決方案,幫助您的團(tuán)隊通過記分卡、dashboard、web services 和移動設(shè)備將數(shù)據(jù)應(yīng)用推向業(yè)務(wù)的各個領(lǐng)域。1.1.4 html語言簡介html是hypertext markup la
11、nguage(超文本標(biāo)記語言)的縮寫,它是構(gòu)成web頁面(page)的主要工具,是用來表示網(wǎng)上信息的符號標(biāo)記語言。html是網(wǎng)絡(luò)的通用語言,一種簡單、通用的全置標(biāo)記語言。它允許網(wǎng)頁制作人建立文本與圖片相結(jié)合的復(fù)雜頁面,這些頁面可以被網(wǎng)上任何其他人瀏覽到,無論使用的是什么類型的電腦或瀏覽器。它是用于創(chuàng)建可從一個平臺移植到另一平臺的超文本文檔的一種簡單標(biāo)記語言,經(jīng)常用來創(chuàng)建web頁面。html文件是帶有格式標(biāo)識符和超文本鏈接的內(nèi)嵌代碼的ascii 文本文件。1.1.5 vbscript簡介vbscript是visual basic script的簡稱,即 visual basic 描述語言。vbs
12、cript是微軟開發(fā)的一種腳本語言。它具有原語言容易學(xué)習(xí)的特性。目前這種語言廣泛應(yīng)用于網(wǎng)頁和asp程序制作,同時還可以直接作為一個可執(zhí)行程序。由于vbscript可以通過windows腳本宿主調(diào)用com,因而可以使用windows操作系統(tǒng)中可以被使用的程序庫,當(dāng)然它也可以使用其它程序和操作系統(tǒng)本身的庫。windows操作系統(tǒng),vbscript可以被用來自動地完成重復(fù)性的windows操作系統(tǒng)任務(wù)。在windows操作系統(tǒng)中,vbscript可以在windows script host的范圍內(nèi)運(yùn)行。windows操作系統(tǒng)可以自動辨認(rèn)和執(zhí)行*.vbs和*.wsf兩種文件格式。1.1.6 javas
13、cript簡介javascript是一種由netscape的livescript發(fā)展而來的腳本語言,主要目的是為了解決服務(wù)器終端語言,比如perl,遺留的速度問題。當(dāng)時服務(wù)端需要對數(shù)據(jù)進(jìn)行驗證,由于網(wǎng)絡(luò)速度相當(dāng)緩慢,只有28.8kbps,驗證步驟浪費(fèi)的時間太多。于是netscape的瀏覽器navigator加入了javascript,提供了數(shù)據(jù)驗證的基本功能。javacript是一種能讓你的網(wǎng)頁更加生動活潑的程式語言,也是目前網(wǎng)頁中設(shè)計中最容易學(xué)又最方便的語言。你可以利用javacript輕易的做出親切的歡迎訊息、漂亮的數(shù)字鐘、有廣告效果的跑馬燈及簡易的選舉,還可以顯示瀏覽器停留的時間。讓這些
14、特殊效果提高網(wǎng)頁的互動性、提供親切的服務(wù)。javascript 使網(wǎng)頁增加互動性。javascript 使有規(guī)律地重復(fù)的html文段簡化,減少下載時間。javascript 能及時響應(yīng)用戶的操作,對提交表單做即時的檢查,無需浪費(fèi)時間交由 cgi 驗證。1.1.7配置iisiis的安裝與配置 a.安裝iis 可打開“控制面板”,然后單擊啟動 “添加/刪除程序”, 在彈出的對話框中選擇 “添加/刪除windows組件”,在windows組件向?qū)υ捒蛑羞x中“internet信息服務(wù)(iis)”,然后單擊“下一步”,按向?qū)е甘?,完成對iis的安裝。b.啟動internet信息服務(wù)(iis) inte
15、rnet信息服務(wù)簡稱為iis,單擊windows開始菜單-所有程序-管理工具-internet信息服務(wù)(iis)管理器,即可啟動“internet信息服務(wù)”管理工具c.配置iis iis安裝后,系統(tǒng)自動創(chuàng)建了一個默認(rèn)的web站點,該站點的主目錄默認(rèn)為c:inetpubwww.root。用鼠標(biāo)右鍵單擊“默認(rèn)web站點”,在彈出的快捷菜單中選擇“屬性”,此時就可以打開站點屬性設(shè)置對話框,可完成對站點的全部配置。 主目錄與啟用父路徑 單擊“主目錄”標(biāo)簽,切換到主目錄設(shè)置頁面,該頁面可實現(xiàn)對主目錄的更改或設(shè)置。注意檢查啟用父路徑選項是否勾選,如未勾選將對以后的程序運(yùn)行有部分影響。主目錄配置-選項。 設(shè)
16、置主頁文檔 單擊“文檔”標(biāo)簽,可切換到對主頁文檔的設(shè)置頁面,主頁文檔是在瀏覽器中鍵入網(wǎng)站域名,而未制定所要訪問的網(wǎng)頁文件時,系統(tǒng)默認(rèn)訪問的頁面文件。常見的主頁文件名有index.htm、index.html、index.asp、index.php、index.jap、default.htm、default.html、default.asp等 iis默認(rèn)的主頁文檔只有default.htm和default.asp,根據(jù)需要,利用“添加”和“刪除”按鈕,可為站點設(shè)置所能解析的主頁文檔。 啟動與停止iis服務(wù) 在internet信息服務(wù)的工具欄中提供有啟動與停止服務(wù)的功能。單擊 可啟動iis服務(wù)器;
17、單擊 則停止iis服務(wù)器。1.2系統(tǒng)概述1.2.1項目背景互聯(lián)網(wǎng)發(fā)展速度迅猛,電子商務(wù)成為21世紀(jì)商務(wù)發(fā)展道路上發(fā)展的一大熱點。隨著寬帶網(wǎng)絡(luò)的普及以及網(wǎng)絡(luò)互聯(lián)網(wǎng)絡(luò)應(yīng)用方式的發(fā)展,電子商務(wù)正以前所未有的速度對傳統(tǒng)商務(wù)方式以理論造成沖擊,并對以往傳統(tǒng)商務(wù)方式占主導(dǎo)的領(lǐng)域進(jìn)行滲透。 電子商務(wù)以其低廉的成本、相對方便的應(yīng)用,以及互聯(lián)網(wǎng)絡(luò)所帶來的前所未有的宣傳效應(yīng),正成為商務(wù)活動開展的一個至關(guān)重要的平臺。電子商務(wù)作為一個新興的事物,雖然發(fā)展速度迅猛,但仍處于發(fā)展的初期階段,還存在許多不完善之處。 基于web的自行車租賃管理系統(tǒng)是一個電子商務(wù)系統(tǒng),在該系統(tǒng)中我們以服務(wù)為宗旨,在該系統(tǒng)中使用b/s結(jié)構(gòu).前臺
18、使用了javascript, css, html,為用戶展示數(shù)據(jù);后臺使用vbscript 實現(xiàn)數(shù)據(jù)邏輯,操作系統(tǒng)的文件組件實現(xiàn)服務(wù)器的文件讀取,獲得文件有關(guān)信息。1.2.2系統(tǒng)功能 在該系統(tǒng)中實現(xiàn)以下功能:系統(tǒng)前臺顯示,分為數(shù)據(jù)瀏覽,用戶注冊,用戶登陸,自行車預(yù)訂,本人信息修改及本人相關(guān)的一些租憑信息查看。系統(tǒng)的后臺操作分為,系統(tǒng)管理,用戶管理,自行車管理,租憑管理,系統(tǒng)管理。1.2.3系統(tǒng)特點系統(tǒng)具有以下特點:(1)模塊化設(shè)計:本系統(tǒng)在界面與功能的設(shè)計上,都采用了模塊化的設(shè)計思想。把一些常用的頁面和功能,都設(shè)計成了一個單一的asp文件或者子程序、函數(shù),例如頁面的頭、尾,系統(tǒng)返回的錯誤、系統(tǒng)
19、返回的操作信息等。這樣在開發(fā)時遇到使用這些模塊的地方,只要使用即可調(diào)用這些功能模塊文件,大大地提高了開發(fā)的效率以及系統(tǒng)的可維護(hù)性。同時為以后的復(fù)用打下了基礎(chǔ)。(2)安全性設(shè)計:本系統(tǒng)在業(yè)務(wù)處理的過程中,及其注重系統(tǒng)的安全性。無論是用戶的誤操作、系統(tǒng)和數(shù)據(jù)庫錯誤,還是惡意的攻擊,都能及時分辨并加以糾正或阻止,提高了系統(tǒng)的穩(wěn)定性及維護(hù)性。(3)人性化設(shè)計:用戶操作簡便,可以通過多種手段查找所需要的自行車,預(yù)訂自行車方式簡單易用。后臺管理功能強(qiáng)大,帶有租賃分析功能,可以幫助尋找潛在的客戶以及對自行車的采購提供指導(dǎo)性數(shù)據(jù)。第二章 系統(tǒng)設(shè)計2.1系統(tǒng)設(shè)計思想2.1.1頁面模塊化設(shè)計該系統(tǒng)時把一些常用的功
20、能集成到了單一的文件中去,需要調(diào)用時只需要引用這個文件或者文件中的子程序、函數(shù)即可實現(xiàn)一些通用的功能。2.1.2注重安全性安全性威脅,大致可分為外部入侵、系統(tǒng)錯誤及人為操作失誤三部分。其中外部入侵及系統(tǒng)錯誤絕大多數(shù)都是由于程序設(shè)計的漏洞造成,這兩點造成的損失也是最大的;而人為操作絕大多數(shù)都是由使用者的疏忽造成,損失也相對較小。2.1.3代碼的復(fù)用代碼的復(fù)用包含了程序功能的模塊化處理,在同一程序中代碼復(fù)用。比如此例的head.asp和bottom.asp作為頁面頭和尾,可以在開發(fā)過程中反復(fù)調(diào)用以統(tǒng)一頁面外觀。2.2系統(tǒng)功能模塊劃分根據(jù)前面的系統(tǒng)功能分析,可以畫出系統(tǒng)功能模塊的組織結(jié)構(gòu)圖,本例從客
21、戶界面和管理界面入手,對系統(tǒng)功能模塊的劃分加以圖形化的描述??蛻艚缑娴慕M織結(jié)構(gòu)圖如圖2-1自行車租賃系統(tǒng)客戶界面庫存管理界面租賃管理界面租賃分析界面客戶瀏覽自行車客戶預(yù)訂自行車客戶信息修改庫存瀏覽庫存修改租賃查詢租賃分析起租結(jié)算圖2-1客戶界面的組織結(jié)構(gòu)圖管理界面的組織結(jié)構(gòu)圖如圖2-2自行車租賃系統(tǒng)自行車管理客戶管理庫存自行車管理自行車推薦用戶修改用戶鎖定添加自行車修改自行車租賃分析受歡迎的類型受歡迎的自行車潛在客戶自行車租賃理管自行車出租自行車歸還自行車預(yù)訂圖2-2管理界面的組織結(jié)構(gòu)圖2.3系統(tǒng)結(jié)構(gòu)設(shè)計根據(jù)模塊化的設(shè)計思想,可得出如圖2-3所示的系統(tǒng)結(jié)構(gòu)設(shè)計圖。自行車租賃系統(tǒng)客戶界面管理界面
22、通用模塊數(shù)據(jù)庫自行車瀏 覽界 面預(yù)定解除預(yù)訂界 面租賃信息界 面登陸注冊界 面系統(tǒng)信息瀏覽與管理用戶管理界 面自行車管理界 面租賃關(guān)系管理界 面取得顯示錯誤信息模 塊輸出操作結(jié)果信息模 塊頁面頭尾模 塊翻頁模 塊檢測管理權(quán)限模 塊圖2-3系統(tǒng)結(jié)構(gòu)設(shè)計圖2.4數(shù)據(jù)庫設(shè)計用戶的需求體現(xiàn)在對各種信息的瀏覽、查詢、保存和更新,這就要求數(shù)據(jù)庫結(jié)構(gòu)能夠滿足用戶的這些基本需求,并在效率和設(shè)計上做到高效與簡潔。而系統(tǒng)的需求則體現(xiàn)在各系統(tǒng)功能對數(shù)據(jù)庫提供的各種信息處理的要求上。用戶的需求往往體現(xiàn)在系統(tǒng)的易用程度和功能強(qiáng)大與否;而系統(tǒng)的需求往往體現(xiàn)在了系統(tǒng)運(yùn)行的效率、穩(wěn)定性與安全性等系統(tǒng)特性之上。本系統(tǒng)為了體現(xiàn)系
23、統(tǒng)設(shè)計的模塊化及關(guān)系型數(shù)據(jù)庫的應(yīng)用,按照關(guān)系型數(shù)據(jù)庫的三個范式標(biāo)準(zhǔn)對數(shù)據(jù)庫進(jìn)行了關(guān)系化處理。自行車在線租賃系統(tǒng)的表項目與之間的關(guān)系,如圖2-4所示。箭頭端為父關(guān)系所在表,箭頭尾是子關(guān)系所在表。pk為主鍵(primary key),fk為外鍵(foreign key),黑體為必填字段。圖2-4自行車在線租賃系統(tǒng)表項目與關(guān)系第三章 客戶界面設(shè)計客戶界面的設(shè)計采用了界面模塊化的思想,每個頁面都具有一定的功能。還運(yùn)用了css樣式表,以達(dá)到美化頁面的效果。故每個頁面都內(nèi)嵌了一個css樣式表的連接。3.1系統(tǒng)預(yù)覽圖3-1是用戶未登錄時以訪客的身份所看到的主界面。從圖中可以看出,客戶在沒有登錄的時候,可以進(jìn)
24、行用戶登錄,瀏覽自行車的詳細(xì)資料,可以根據(jù)自行車的名稱查找自行車,還可以根據(jù)自行車的類別來瀏覽自行車。圖3-1用戶未登錄時的主界面圖3-2是用戶登錄以后的主界面從圖中可以看出,普通用戶登錄后,可以查看自己預(yù)定的、已租的自行車,可以更改自己的用戶信息。在已租的自行車當(dāng)中又存在更詳細(xì)的分類,使用戶即時了解自己自行車租賃情況。如果用戶是管理員,還可以通過鏈接跳轉(zhuǎn)到管理頁面。圖3-2用戶登錄后的主界面3.2界面頭、界面尾設(shè)計為了提高代碼的復(fù)用率,使程序設(shè)計變得高效簡潔,本文是把部分界面的界面頭和界面尾都使用了head.asp和bottom.asp文件。而在head.asp文件中,又內(nèi)嵌了自行車類型的導(dǎo)
25、航條navbar.asp和用戶信息userlogin.asp。效果如圖3-3圖3-3界面頭、尾效果演示3.3用戶注冊模塊設(shè)計為了自行車和租賃管理,用戶必須注冊后才可以預(yù)定或者租賃自行車。在注冊時,用戶需要留下聯(lián)系方式以便收到信息或通知。注冊后用戶可以根據(jù)注冊的用戶名和密碼登陸系統(tǒng),瀏覽和預(yù)定自行車。該模塊所在的文件是reg.asp文件。此文件采用了頁面和代碼分離技術(shù)。普通的用戶注冊模塊,需要將用戶注冊信息的輸入做成一個文件,再使用標(biāo)單將數(shù)據(jù)傳遞到另一個處理注冊信息的文件。使用此技術(shù),就可以在使用普通的網(wǎng)頁編輯器來編輯頁面風(fēng)格的同時,頁面也同時具備操作功能,不必再將一個功能做成兩個獨(dú)立的文件了。
26、其實現(xiàn)的原理是通過在頁面的標(biāo)單中包含了一個名為isreg的隱含域:。打開此頁面后,isreg并沒有提交,request(“isreg”)的值為空,則顯示頁面;提交后,request(“isreg”)的值不為空,則執(zhí)行代碼。實現(xiàn)后的效果如圖3-4所示。圖3-4 用戶注冊模塊效果3.4用戶登錄模塊設(shè)計用戶登錄時,需要檢測用戶名和用戶密碼;用戶名和密碼通過檢測后,需要判斷用戶是否被鎖定。檢測通過后,還需要遍歷數(shù)據(jù)庫中的數(shù)據(jù),找出有沒有用戶的租賃超過了期限,如果超過了則在數(shù)據(jù)庫中進(jìn)行標(biāo)注。用戶登錄后,服務(wù)器端會創(chuàng)建一個用戶的私有變量session(“userid”)來保存用戶的id。在本系統(tǒng)的其他模塊
27、,經(jīng)常需要用到此私有變量判斷用戶狀態(tài)是否失效、用戶是否為管理員。最后,程序會使用response.redirect index.asp重定向網(wǎng)頁到index.asp文件。例程3-1用戶登錄模塊%dim strsql,objrsset objrs=server.createobject(adodb.recordset)取得用戶文件名、密碼dim username,userpassword過濾sql字符,防止sql漏洞注入username=chksql(request(username) 使用md5()函數(shù)加密密碼userpassword=md5(request(userpassword)在數(shù)據(jù)庫
28、中查找用戶strsql=select * from userinfo where ui_name_s=&username&objrs.open strsql,objconn,1,3判斷用戶是否存在若用戶不存在則通過geterr()函數(shù)提交并顯示錯誤代碼if objrs.bof or objrs.eof thenobjrs.close set objrs=nothingresponse.write geterr(3)response.endelse若用戶存在,則檢測用戶密碼的正誤if objrs(ui_password_s)userpassword thenobjrs.closeset objr
29、s=nothingresponse.write geterr(4)response.endend if判斷用戶是否被鎖定if objrs(ui_islocked_b)=true thenobjrs.closeset objrs=nothingresponse.write geterr(5)response.endend if建立用戶私有變量session.timeout =30session(userid)=objrs(ui_id_n)objrs.close每當(dāng)有用戶登錄則刷新數(shù)據(jù)庫,判斷是否有自行車的預(yù)訂超時或超期未還strsql=select tac_reservetime_d,tac_s
30、tarttime_d from tenancy”&_” where tac_starttime_d is nullobjrs.open strsql,objconn,1,3for i=1 to objrs.recordcount有超時的預(yù)訂則刪除if isnull(objrs(tac_starttime_d)=true and&_ datediff(h,objrs(tac_reservetime_d),now()12 thenobjrs.deleteend ifobjrs.movenextnextobjrs.closestrsql=select * from tenancy where tac
31、_starttime_d”&_” is not null and tac_endtime_d is nullobjrs.open strsql,objconn,1,3dim msguserfor i=1 to objrs.recordcount有超期租賃的則標(biāo)注if datediff(d,dateadd(d,objrs(tac_lease_n),&_objrs(tac_starttime_d),now()=objrs(tac_lease_n) thenstrsql=update tenancy set tac_timeout_b=true,”&_”tac_msguser_b=true wher
32、e tac_id_n=&objrs(tac_id_n)objconn.execute(strsql)end ifobjrs.movenextnextobjrs.close跳轉(zhuǎn)回主頁response.redirect index.aspend if%3.5自行車瀏覽模塊設(shè)計自行車瀏覽模塊的功能是讓用戶找到自己感興趣的自行車,找到后可以進(jìn)行預(yù)定。實現(xiàn)后的效果如圖3-5所示。圖3-5 自行車流量模塊效果圖3.6用戶信息模塊設(shè)計此模塊是為了顯示用戶的預(yù)定、租賃關(guān)系與租賃關(guān)系提醒所設(shè)計的。使用此模塊,用戶可以查看自己預(yù)定了哪些自行車,租了哪些自行車,哪些自行車將要到期、哪些自行車已超過了歸還期限。點擊這
33、些自行車的名稱后操作將交給disprent.asp用于顯示詳細(xì)的預(yù)定及租賃信息。此模塊是嵌入在用戶界面頭head.asp當(dāng)中的。在此模塊中通過select case判斷自行車的狀態(tài)后,再使用if和datediff函數(shù)結(jié)合判斷自行車的狀態(tài)是將要到期還是已經(jīng)超期。實現(xiàn)后的效果如圖3-6所示圖3-6 用戶信息模塊設(shè)計3.7用戶資料管理模塊設(shè)計此模塊的設(shè)計也運(yùn)用了頁面與代碼的分離技術(shù)。用戶可以通過此功能模塊察看和修改自己的資料。如果是管理員的話,則可以修改用戶的狀態(tài)。此模塊的表單域中包含三個隱含的域:uid、ismodify和changeby。uid傳遞的是用戶id; changeby是根據(jù)用戶是否為
34、管理員來判斷是否要更新用戶基本信息外的屬性實現(xiàn)后的效果如圖3-7。圖3-7用戶資料管理模塊實現(xiàn)效果圖3.8 查看用戶租賃關(guān)系模塊設(shè)計此模塊的功能是讓用戶查看現(xiàn)存的租賃關(guān)系,包括預(yù)訂和租賃??梢缘玫阶馄诤妥饨鸬男畔ⅰH绻且怨芾韱T身份查看租賃關(guān)系,則可以連接到起租與結(jié)算的頁面,執(zhí)行相應(yīng)的操作。在此模塊中,會通過session(“userid”)來讀取數(shù)據(jù)庫中的用戶信息,判斷用戶是否是管理員。那為什么不使用chkadmin.asp來判斷用戶是否是管理員呢?這是因為chkadmin.asp的作用僅僅是判斷用戶是否是管理員,如果不是管理員則終止操作。而查看用戶租賃關(guān)系模塊是用戶與管理員公用的模塊,所以
35、如果使用chkadmin.asp來判斷用戶是否是管理員,會使不是管理員的用戶無法繼續(xù)進(jìn)行操作。此模塊可以計算出用戶所要支付的實際租金,便于管理員對租賃收費(fèi)進(jìn)行管理。實現(xiàn)后的效果如圖3-8圖3-8 查看用戶租賃關(guān)系實現(xiàn)效果圖3.9用戶預(yù)訂自行車模塊設(shè)計此模塊的功能是用戶預(yù)訂自行車。當(dāng)用戶預(yù)訂自行車后,預(yù)定的狀態(tài)會保存12小時。若12小時內(nèi)用戶沒有去起租自行車,則預(yù)訂會被刪除。如果用戶不是管理員且有超期未還的自行車,則不可以預(yù)訂自行車,直到超期未還的自行車歸還為止。此模塊實現(xiàn)效果圖如圖3-9和圖3-10。圖3-9 用戶預(yù)定自行車圖3-10 用戶預(yù)定自行車成功3.10用戶注銷登錄模塊設(shè)計此模塊的作用
36、是注銷用戶的登錄。其原理是結(jié)束用戶的私有變量session(“userid”)。例程3-2用戶注銷登錄logout.asp第四章 系統(tǒng)通用功能模塊和管理界面4.1系統(tǒng)通用模塊 以下是本系統(tǒng)的一些通用文件。head.asp 統(tǒng)一格式的頁面頭bottom.asp 統(tǒng)一格式的頁面尾changepage.asp 頁面轉(zhuǎn)換chkadmin.asp 檢查用戶是否具有管理權(quán)限chkerr.asp 根據(jù)錯誤代碼提取錯誤信息及解決對策conn.asp 數(shù)據(jù)庫聯(lián)接md5.asp 用戶密碼加密navbar.asp 自行車類型導(dǎo)航條resultmsg.asp 輸出操作結(jié)果信息 userlogin.asp 用戶信息st
37、yle.css 頁面風(fēng)格incinc.js 通用javascript腳本(1)conn.asp4.2管理界面管理界面的設(shè)計采用了框架的結(jié)構(gòu),框架構(gòu)建文件為admin_index.asp,可以根據(jù)request(“type”)獲取用戶需要顯示的管理頁面。這樣的設(shè)計可以使用戶使用清晰明了,能快速找出所要使用的功能。admin_menu.asp為管理項目列表,所在的框架名稱為leftframe。而mainframe顯示的是管理選項頁面。在每個管理界面當(dāng)中均采用方法引用了chkadmin.asp文件,這種設(shè)計是為了檢測用戶是否擁有管理權(quán)限,防止沒有管理權(quán)限的用戶非法篡改系統(tǒng)數(shù)據(jù)。在管理界面中包含這幾個
38、模塊,系統(tǒng)信息的查看與修改,用戶管理,自行車管理,起租與結(jié)租模塊。第五章 系統(tǒng)要點、難點5.1系統(tǒng)安全性系統(tǒng)的安全性,在傳統(tǒng)經(jīng)典的c/s架構(gòu)中就已經(jīng)得到了充分的重視,自從電子商務(wù)誕生以來,新興的b/s架構(gòu)系統(tǒng)安全性也成為了一個新興的問題。安全性問題的產(chǎn)生,可能很多讀者認(rèn)為多與網(wǎng)絡(luò)系統(tǒng)與服務(wù)器有關(guān),類似于dos之類的名詞耳熟能詳。殊不知在系統(tǒng)開發(fā)的過程中,卻隱藏著更多更具有破壞性的安全問題。sql漏洞注入是一個很簡單,同時又很復(fù)雜的問題。簡單的說,sql漏洞注入是通過瀏覽器提交特殊的代碼,從而收集服務(wù)器、程序或數(shù)據(jù)庫信息。而獲取數(shù)據(jù)庫中的信息,又往往是實行sql漏洞注入者的主要目的。在程序當(dāng)中,
39、很可能出現(xiàn)類似于顯示用戶這樣的html代碼。如果把“dispuser.asp?id=1”改成“dispuser.asp?id=1 and ui_isadmin_b=true”,并在瀏覽器地址欄里提交,如果程序中沒有相應(yīng)的措施,那么這個sql漏洞注入就算是成功了。在sql語言當(dāng)中,單引號“”是格外需要注意的。利用好單引號,可以構(gòu)造出極具攻擊性漏洞注入,例如在程8-1的文本框中輸入“1 or ui_name_s like %”,那么程序就會將所有用戶都羅列出來。所以在此案例中,使用replace函數(shù)過濾單引號是非常常見的。5.2故意入侵的防范大多數(shù)故意入侵,都是針對程序漏洞進(jìn)行的。前節(jié)的sql漏洞
40、注入。對于入侵的防范,大體可以依據(jù)以下幾條消除:(1)在頁面中傳遞數(shù)據(jù)時,盡量使用數(shù)值類型的數(shù)據(jù)傳遞,因為數(shù)值類型的數(shù)據(jù)比較好判斷;(2)在程序設(shè)計時,判斷出非法的數(shù)據(jù)類型后,要及時終止程序的運(yùn)行并提交錯誤,最好還能夠?qū)㈠e誤記錄進(jìn)入數(shù)據(jù)庫供用戶判斷;(3)如果程序運(yùn)行不能被終端,則將此數(shù)據(jù)強(qiáng)制變更為系統(tǒng)合法格式的數(shù)據(jù);(4)對用戶提交數(shù)據(jù)中輸入的空格的判別要格外注意。比如一個用戶注冊,輸入的用戶名是一排空格,那么使用isempty或者request(“username”)=”是可以蒙混過關(guān),但在將注冊插入數(shù)據(jù)庫或者顯示出來時,這個用戶的用戶名便不可見了。遇到需要判別輸入空格情況的。5.3安全防
41、范對于敏感的數(shù)據(jù),應(yīng)確保數(shù)據(jù)庫連接字符串,最好不要保存在文本文件中,比如,可以將其保存在application對象中。一個安全性比較高的做法是將敏感數(shù)據(jù)編譯進(jìn)一個activex組件中,其缺點在于數(shù)據(jù)改動時需要重新編譯組件。如果保存包含文件,包含文件不要使用*.inc后綴名,建議使用*.asp后綴。為了保護(hù)asp應(yīng)用程序,要在應(yīng)用程序的global.asa文件上為適當(dāng)?shù)挠脩艋蛴脩艚M設(shè)置ntfs文件權(quán)限。如果global.asa包含瀏覽器返回信息的命令而沒有保護(hù)global.asa文件,則信息將被返回給瀏覽器,即便應(yīng)用程序的其他文件被保護(hù)。5.4錯誤處理(1)asp錯誤處理機(jī)制在我們調(diào)試asp腳本
42、時經(jīng)常會出現(xiàn)一些錯誤信息,其實我們只要在做腳本時稍考慮一下錯誤處理,就會讓編制出的應(yīng)用程序更加合理。常見的asp錯誤的類型大致包括編譯錯誤、運(yùn)行錯誤和邏輯錯誤三種。編譯錯誤出現(xiàn)一般都是代碼的語法問題。因為編譯錯誤而導(dǎo)致asp停止運(yùn)行。運(yùn)行錯誤多發(fā)生在準(zhǔn)備運(yùn)行asp時的,例如,如果試圖給一個變量賦值,但是卻超出該變量允許的范圍。邏輯錯誤是最難發(fā)現(xiàn)的,這種錯誤是一種結(jié)構(gòu)錯誤,計算機(jī)發(fā)現(xiàn)不了,這就需要我們徹底檢查代碼。在頁面中出現(xiàn)這樣一種錯誤,錯誤類型:microsoft ole db provider for sql server(0x80040e37)invalid object name ad
43、mini /aspspecial/error_handle/test.asp,第10行此錯誤頁面實際是在iis中存在的一個asp頁面500-100.asp,在出現(xiàn)錯誤時候iis在后臺使用server.tansfer()方法調(diào)用頁面500-100.asp將錯誤返回給用戶。修改該頁面錯誤是,打開iis默認(rèn)web站點的屬性頁,選擇自定義錯誤信息標(biāo)簽。在http錯誤信息列表中找到500;100http錯誤類型,單擊“編輯屬性”按鈕可以修改處理asp錯誤頁面。(2)開發(fā)時錯誤處理開發(fā)程序時如果出現(xiàn)錯誤,我就希望得到最詳細(xì),精確的錯誤信息。同時,如果將忽略錯誤后的運(yùn)行結(jié)果同時也提示出來,是最好的?,F(xiàn)在制定
44、一個錯誤處理頁面,制定好后可以對程序的錯誤進(jìn)行處理。這樣經(jīng)過制定后,可以提供更多的錯誤信息,同時,即使在頁面出錯之后仍能看到頁面的輸出,這可以讓開發(fā)將輸出結(jié)果與期望結(jié)果比較,更快地找到更多錯誤信息。(3)防止錯誤為了在編寫程序過程中盡量少出錯誤,養(yǎng)成良好的編程習(xí)慣非常必要。主要注意代碼的格式和縮進(jìn)編排;變量現(xiàn)實表明;變量轉(zhuǎn)換為合適的數(shù)據(jù)類型;使用有意義的變量命名約定;封裝腳本;注意潛在的錯誤情況;及時對程序進(jìn)行測試。同時要給代碼加注釋,盡量對代碼進(jìn)行封裝,可以封裝為函數(shù),子程序或者包含頁面,然后使用ssi或者server.execute調(diào)入。經(jīng)過測試的共用代碼是很可靠的。第六章總結(jié)與展望6.1總結(jié)自行車管理系統(tǒng)的開發(fā)用時近3個月,在設(shè)計和開發(fā)過程中遇到過很多問題,在解決這些問題的過程中,讓我學(xué)會了如何去解決所遇到的問題,使我學(xué)會了怎樣有效的學(xué)習(xí);培養(yǎng)了我的自我學(xué)習(xí)能力和溝通能力;學(xué)會了如何充分利用圖書館
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度醫(yī)療設(shè)備銷售傭金分紅合同范本3篇
- 二零二五版電子商務(wù)知識產(chǎn)權(quán)保護(hù)合同簽署4篇
- 二手房購買定金協(xié)議:2024年標(biāo)準(zhǔn)版版B版
- 二零二五版網(wǎng)絡(luò)信息安全技術(shù)服務(wù)合同范本2篇
- 2025版新產(chǎn)品發(fā)布宣傳片制作服務(wù)協(xié)議2篇
- 2025年度個人之間房屋買賣合同爭議解決條款范本2篇
- 二零二五版月子中心嬰兒早教及產(chǎn)后恢復(fù)服務(wù)合同2篇
- 2025年度個人藝術(shù)品拍賣委托協(xié)議4篇
- 2025年度摩托車轉(zhuǎn)讓與賽車俱樂部賽事運(yùn)營管理協(xié)議
- JF工程2024年山西建筑安裝協(xié)議范本版B版
- 光伏自發(fā)自用項目年用電清單和消納計算表
- 量子計算在醫(yī)學(xué)圖像處理中的潛力
- 阿里商旅整體差旅解決方案
- 浙江天臺歷史文化名城保護(hù)規(guī)劃說明書
- 邏輯思維訓(xùn)練500題
- 第八講 發(fā)展全過程人民民主PPT習(xí)概論2023優(yōu)化版教學(xué)課件
- 實體瘤療效評價標(biāo)準(zhǔn)RECIST-1.1版中文
- 企業(yè)新春茶話會PPT模板
- GB/T 19185-2008交流線路帶電作業(yè)安全距離計算方法
- DIC診治新進(jìn)展課件
- 公路工程施工現(xiàn)場安全檢查手冊
評論
0/150
提交評論