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