盤(pán)錦職業(yè)技術(shù)學(xué)院 張?zhí)煺?/p>
網(wǎng)絡(luò)技術(shù)不斷成熟和發(fā)展,促進(jìn)了基于網(wǎng)絡(luò)技術(shù)的網(wǎng)站的發(fā)展。網(wǎng)站開(kāi)發(fā)是一項(xiàng)很復(fù)雜的工作,我校根據(jù)學(xué)校實(shí)際,確定網(wǎng)站的定位和需求,從軟件工程的角度出發(fā),針對(duì)學(xué)校網(wǎng)站建設(shè)的特點(diǎn)和重點(diǎn),整理出一套適合學(xué)校網(wǎng)站建設(shè)管理和控制的方法,以此來(lái)保證網(wǎng)站建設(shè)的高效率、高質(zhì)量。
所謂動(dòng)態(tài),并不是指那兒個(gè)放在網(wǎng)頁(yè)上的GIF動(dòng)態(tài)圖片,在這里是為動(dòng)態(tài)頁(yè)面的概念制定了以下兒條規(guī)則:
1.交互性,即網(wǎng)頁(yè)會(huì)根據(jù)用戶的要求和選擇而動(dòng)態(tài)改變和響應(yīng),將瀏覽器作為客戶端界面,這將是今后WEB發(fā)展的大勢(shì)所趨。
2.自動(dòng)更新,即無(wú)須手動(dòng)地更新HTML文檔,便會(huì)自動(dòng)生成新的頁(yè)面,可以大大節(jié)省工作量。
3.因時(shí)因人而變,即當(dāng)不同的時(shí)問(wèn)、不同的人訪問(wèn)同一網(wǎng)址時(shí)會(huì)產(chǎn)生不同的頁(yè)面。
Microsoft Active Server Pages即我們所稱的ASP,其實(shí)是一套微軟開(kāi)發(fā)的服務(wù)器端腳本環(huán)境,ASP內(nèi)含于IIS3.0和4.0之中,通過(guò)ASP我們可以結(jié)合HTML網(wǎng)頁(yè),ASP指令和ActiveX元件建立動(dòng)態(tài)、交互、高效的WEB服務(wù)器應(yīng)用程序。有了ASP你就不必?fù)?dān)心客戶的瀏覽器是否能運(yùn)行你所編寫(xiě)的代碼,因?yàn)樗械某绦蚨紝⒃诜?wù)器端執(zhí)行,包括所有嵌在普通HTML中的腳本程序。當(dāng)程序執(zhí)行完畢后,服務(wù)器僅將執(zhí)行的結(jié)果返回給客戶瀏覽器,這樣也就減輕了客戶端瀏覽器的負(fù)擔(dān),大大提高了交互的速度。以下羅列了Active Server Pages所獨(dú)具的一些特點(diǎn):
1.使用VBScript JScript等簡(jiǎn)單易懂的腳本語(yǔ)言,結(jié)合HTML代碼,即可快速地完成網(wǎng)站的應(yīng)用程序。
2.無(wú)須Compile編譯,容易編寫(xiě),可在服務(wù)器端直接執(zhí)行。
3.使用普通的文本編輯器,如Window、的記事本,即可進(jìn)行編輯設(shè)計(jì)。
4.與瀏覽器無(wú)關(guān)(Br+wser In<lepen<lenoe),用戶端只要使用可執(zhí)行HTML碼的瀏覽器,即可瀏覽Active Server Pages所設(shè)計(jì)的網(wǎng)頁(yè)內(nèi)容。Active Server Pages所使用的腳本語(yǔ)言(VBSoript Jsoript)均在WEB服務(wù)器端執(zhí)行,用戶端的瀏覽器不需要能夠執(zhí)行這些腳本語(yǔ)言。
5.Active Server Pages能與任何AotiveX scripting語(yǔ)言相容。除了可使用V BSoript或JSoript語(yǔ)言來(lái)設(shè)計(jì)外,還通過(guò)plug-in的方式,使用由第三方所提供的其他腳本語(yǔ)言,譬如REXX,Perl,Tol等。腳本引擎是處理腳本程序的COM(Component Object Model)物件。
6.Active Server Pages的源程序,不會(huì)被傳到客戶瀏覽器,因而可以避免所寫(xiě)的源程序被他人票J竊,也提高了程序的安全性。
7.可使用服務(wù)器端的腳本來(lái)產(chǎn)生客戶端的腳本。
8.物件導(dǎo)向(Obje<,一(>riented)。
9.AotiveX Server Components(AotiveX服務(wù)器元件)具有無(wú)限可擴(kuò)充性。可以使用Visual Basic,Java VisualC++,Cobol等編程語(yǔ)言來(lái)編寫(xiě)你所需要的AotiveX Server Component。
Asp程序設(shè)計(jì)的安全主要涉及三個(gè)方面:Asp源代碼的安全、Asp程序設(shè)計(jì)的安全和數(shù)據(jù)庫(kù)安全。
1.保證ASP源碼的安全的主要技術(shù)是Asp腳本加密技術(shù)。常用方法有兩種:一是ASP2DLL技術(shù)。其基本思想是利用VB6.0提供的Activexdll對(duì)象將Asp代碼進(jìn)行封裝,編譯為DLL文件,在Asp程序中調(diào)用該DLL文件。二是利用微軟提供的Script Encoder加密軟件對(duì)Asp頁(yè)面進(jìn)行加密。
2.置合適的腳本映射。應(yīng)用程序的腳本映射保證了Web服務(wù)器不會(huì)意外地下載Asp文件的源代碼,但不安全或有錯(cuò)誤的腳本映射易導(dǎo)致Asp源代碼泄漏。因此,應(yīng)將用不到的有一定危險(xiǎn)性的腳本映射刪掉(如*.htr文件及*.htw,*.ida,*.idq等索引文件)。
1.用戶名、口令機(jī)制。用戶名、口令是最基本的安全技術(shù),在Asp中常采用Form表單提交用戶輸入的帳號(hào)和密碼,與用戶標(biāo)識(shí)數(shù)據(jù)庫(kù)中相應(yīng)的字段進(jìn)行匹配,在必要的場(chǎng)合可以使用MD5算法來(lái)加密用戶輸入的密碼,可以保證在線路被竊聽(tīng)的情況下依然保證數(shù)據(jù)的安全,保護(hù)用戶口令的安全。
2.注冊(cè)驗(yàn)證。為了網(wǎng)站資源的安全性和易于管理,可以對(duì)用戶進(jìn)行分級(jí),給定權(quán)限,使特定用戶訪問(wèn)特定的資源群,也可以阻止未授權(quán)用戶使用網(wǎng)站的資源,這就需要對(duì)用戶進(jìn)行注冊(cè)驗(yàn)證操作。在ASP中,我們可以利用Session對(duì)象和Http頭信息來(lái)實(shí)現(xiàn)此類(lèi)安全控制。當(dāng)訪問(wèn)者通過(guò)身份驗(yàn)證頁(yè)面后,就把Session對(duì)象的Sessionid屬性作為一個(gè)Session變量存儲(chǔ)起來(lái),當(dāng)訪問(wèn)者試圖導(dǎo)航到一種有效鏈接的頁(yè)面時(shí),可將當(dāng)前的Sessionid與存儲(chǔ)在Session對(duì)象中的ID進(jìn)行比較,如果不匹配,則拒絕訪問(wèn)。如在Session(“id”)中保存著第一次鏈接的Sessionid,<%if session.sessionid<>session(“id”)then response.end%>’拒絕訪問(wèn)。
3.網(wǎng)頁(yè)過(guò)期管理??紤]到有可能用戶在使用網(wǎng)頁(yè)的過(guò)程中,有可能會(huì)長(zhǎng)時(shí)間離開(kāi)計(jì)算機(jī)處理別的事情,這樣會(huì)給別有用心的人有可乘之機(jī),所以應(yīng)該給網(wǎng)頁(yè)一個(gè)過(guò)期時(shí)間。這樣不僅保證了用戶的安全,也可以減少服務(wù)器的鏈接數(shù),減少服務(wù)器壓力。可以使用session.timeout=時(shí)間,過(guò)了這么長(zhǎng)時(shí)間網(wǎng)頁(yè)就失效了,前提是你用一個(gè)session值來(lái)判斷登錄狀態(tài)如session.timeout=20。
建立一個(gè)網(wǎng)站,首要明確設(shè)計(jì)思想,編寫(xiě)一份詳盡的需求說(shuō)明書(shū),這是網(wǎng)站建設(shè)成功的關(guān)鍵所在。
根據(jù)各方面的反饋意見(jiàn)進(jìn)行認(rèn)真的分析,對(duì)網(wǎng)站設(shè)計(jì)進(jìn)行準(zhǔn)確定位:網(wǎng)站規(guī)劃要著重考慮顧客的需求;內(nèi)容上要以工作內(nèi)容為主,同時(shí)也要為訪問(wèn)者提供其所關(guān)心的內(nèi)容;內(nèi)容要求及時(shí)更新;版面要求新穎有特色,同時(shí)還要增強(qiáng)網(wǎng)站的方便性、整體性和安全性。
1.網(wǎng)站總體設(shè)計(jì)
網(wǎng)站設(shè)計(jì)有了一份詳盡的需求說(shuō)明書(shū)后,就可以根據(jù)需求說(shuō)明書(shū),對(duì)網(wǎng)站進(jìn)行總體規(guī)劃,給出一份網(wǎng)站總體建設(shè)方案??傮w規(guī)劃具體要明確網(wǎng)站需要實(shí)現(xiàn)的目的和目標(biāo);網(wǎng)站形象說(shuō)明;網(wǎng)站的欄目版塊和結(jié)構(gòu);網(wǎng)站內(nèi)容的安排,相互鏈接關(guān)系;使用軟件、硬件和技術(shù)分析說(shuō)明;開(kāi)發(fā)時(shí)間進(jìn)度表;維護(hù)方案;制作費(fèi)用;需要遵循的規(guī)則和標(biāo)準(zhǔn)有哪些等。
2.網(wǎng)站詳細(xì)設(shè)計(jì)
總體設(shè)計(jì)階段以比較抽象概括的方式提出解決問(wèn)題的辦法,具體設(shè)計(jì)階段的任務(wù)就是把解決方法具體化、明確化,設(shè)計(jì)中應(yīng)注意的問(wèn)題有:
(1)網(wǎng)站設(shè)計(jì)的風(fēng)格定位。網(wǎng)站要有自己的特色,設(shè)計(jì)中不要太多地考慮技術(shù)問(wèn)題,而應(yīng)該更多地考慮不斷增加網(wǎng)站的內(nèi)涵,要在能夠動(dòng)態(tài)反映情況的內(nèi)容上下功夫。
(2)網(wǎng)站設(shè)計(jì)的整體性。網(wǎng)站設(shè)計(jì),注意考慮網(wǎng)站的易維護(hù)性,技術(shù)上多采用CSS、模板等,對(duì)網(wǎng)站的整體風(fēng)格進(jìn)行定位,方便日常維護(hù)與更新。
(3)關(guān)鍵技術(shù)的研究及應(yīng)用。網(wǎng)站設(shè)計(jì)中,怎樣防黑,保護(hù)網(wǎng)站內(nèi)容不被別人竊取、修改是網(wǎng)站建設(shè)必須考慮的技術(shù)性問(wèn)題。主要從IIS、ASP和Access三方面來(lái)總結(jié)網(wǎng)站系統(tǒng)面臨的常見(jiàn)的安全威脅及解決方法。
①集中管理ASP的目錄,設(shè)置訪問(wèn)權(quán)限。在設(shè)置WEB站點(diǎn)時(shí),將HTMI文件同ASP文件分開(kāi)放置在不同的目錄下,然后將HTML子目錄設(shè)置為“讀”;將ASP子目錄設(shè)置為“執(zhí)行”。
②對(duì)IIS中的特殊Web目錄禁止匿名訪問(wèn)并限制IP地址。對(duì)IIS中的sample、scripts、iisadmin等web目錄,通過(guò)各目錄屬性對(duì)話框中的“目錄安全性”標(biāo)簽設(shè)置為禁止匿名訪問(wèn)并限制IP地址,并用NTFS的特性設(shè)置詳細(xì)的安全權(quán)限,除了Administrator,其它帳號(hào)都應(yīng)該設(shè)置為只讀權(quán)限。
③防止Access數(shù)據(jù)庫(kù)被下載。有效地防止數(shù)據(jù)庫(kù)被下載的方法有:非常規(guī)命名法:為Access數(shù)據(jù)庫(kù)文件取一個(gè)復(fù)雜的非常規(guī)名字,并把它放在幾層目錄下;使用ODBC數(shù)據(jù)源:在ASP程序設(shè)計(jì)中,如果有條件,應(yīng)盡量使用ODBC數(shù)據(jù)源,不要把數(shù)據(jù)庫(kù)名寫(xiě)在程序中。
④進(jìn)行數(shù)據(jù)備份。運(yùn)用FSO組件對(duì)Access數(shù)據(jù)庫(kù)進(jìn)行備份,以便在數(shù)據(jù)被破壞時(shí)進(jìn)行快速恢復(fù),盡可能多地挽回?fù)p失。
⑤對(duì)ASP頁(yè)面進(jìn)行加密。為了有效地防止ASP源代碼泄露,可以對(duì)ASP頁(yè)面進(jìn)行加密。加密的方法一般有兩種:一是使用組件技術(shù)將編程邏輯封裝入DLL之中;二是使用微軟的Script Encoder對(duì)ASP頁(yè)面進(jìn)行加密。
⑥后臺(tái)用戶注冊(cè)驗(yàn)證。為了防止后臺(tái)用戶未經(jīng)注冊(cè)的用戶繞過(guò)注冊(cè)界面直接進(jìn)入應(yīng)用系統(tǒng),我們采用Session對(duì)象進(jìn)行注冊(cè)驗(yàn)證:
有了網(wǎng)站的具體設(shè)計(jì)方案,各網(wǎng)站制作人員就可以全力進(jìn)入開(kāi)發(fā)階段。盡量采用邊制作邊調(diào)試,即采用本機(jī)調(diào)試和上傳服務(wù)器調(diào)試的方法,觀察速度、兼容性、交互性等。
在整個(gè)設(shè)計(jì)網(wǎng)站的過(guò)程中,重視網(wǎng)站的“規(guī)劃—設(shè)計(jì)—管理—發(fā)展”的規(guī)律,實(shí)現(xiàn)可持續(xù)性發(fā)展。動(dòng)態(tài)網(wǎng)站設(shè)計(jì)與實(shí)現(xiàn)是目前網(wǎng)頁(yè)設(shè)計(jì)的主流和時(shí)尚技術(shù)。其基本技術(shù)由基于客戶端的編程和基于服務(wù)器端的編程兩部分組成??蛻舳说木幊陶Z(yǔ)言一般:是采用Javascript腳本語(yǔ)言。而采用VBScript腳本語(yǔ)言結(jié)合ASP技術(shù)(Active Server Pages)來(lái)開(kāi)發(fā)服務(wù)器端的內(nèi)容,可以很好地實(shí)現(xiàn)網(wǎng)站網(wǎng)頁(yè)豐富的動(dòng)態(tài)效果。
[1]防范ASP木馬的十大基本原則[J].計(jì)算機(jī)與網(wǎng)絡(luò),2006,1.
[2]侯占偉,翟海霞.ASP代碼廈網(wǎng)站安全的探討[J].焦作大學(xué)學(xué)報(bào),2005,4.
[3]袁志芳,田曉芳,李桂寶.ASP程序設(shè)計(jì)與WEB信息安全[J].中國(guó)教育信息化,2007,21.