王玉娟,徐繞山
南京信息職業(yè)技術(shù)學(xué)院,江蘇 南京 210046
軟件開發(fā)在前幾年進(jìn)行了C/S方式到B/S方式的轉(zhuǎn)變,B/S方式的優(yōu)點明顯,然而也存在著不足之處,主要表現(xiàn)在以下幾個方面:
1)網(wǎng)絡(luò)帶寬問題。這個問題在局域網(wǎng)應(yīng)用不存在,但在廣域網(wǎng)下就可能是問題。但隨著互聯(lián)網(wǎng)的高速發(fā)展和https技術(shù)的廣泛應(yīng)用,這個問題應(yīng)該是越來越小,反之C/S方式在廣域條件下應(yīng)用,是更麻煩的事情,如果不配置VPN,就要去用程序做數(shù)據(jù)同步。
2)服務(wù)器負(fù)載。實際上隨著集群技術(shù)的應(yīng)用和PC Server價格的不斷降低,這個問題也不是問題,并且如果用戶數(shù)真的很多,可能B/S反而好做一點,而C/S并不能直接用DB SERVER支撐大用戶量,而是還需要一個中間的應(yīng)用服務(wù)層,即C/S/S架構(gòu)才能支持。
3)用戶易用性。這個才是很多用戶權(quán)衡時考慮的重點。在一般概念中,B/S的界面遠(yuǎn)遠(yuǎn)比C/S的界面用起來不方便。
而Ajax技術(shù)就解決了B/S方式所遇到的困難,它使得用戶可以在瀏覽器中像在桌面軟件上一樣輕松、方便地操作,而且不需要安裝插件、控件之類的東西,使得Web應(yīng)用的優(yōu)勢充分發(fā)揮出來。
目前,Ajax已經(jīng)成為web應(yīng)用的主流開發(fā)技術(shù),大量的業(yè)界巨頭已經(jīng)采納并且在大力推動這個技術(shù)的發(fā)展。例如,IBM、Oracle、Yahoo等業(yè)界領(lǐng)先的公司啟動了Open Ajax項目,致力于為Ajax開發(fā)建造先進(jìn)強(qiáng)大的開發(fā)工具;微軟開發(fā)了自己的Ajax框架Altas,用于和服務(wù)器端的ASP.NET框架配合工作;Sun公司也將Ajax技術(shù)列入J2EE的藍(lán)圖中,作為J2EE技術(shù)的有益補(bǔ)充。然而與任何新生技術(shù)一樣,Ajax在某些方面可能犯錯誤。
1)XMLHttpRequest的有效性
XMLHttpRequest是Ajax的最核心技術(shù),開發(fā)者面對的一個最大問題是當(dāng)XMLHttpRequest不可用時如何反應(yīng)。雖然大部分現(xiàn)代瀏覽器支持XMLHttpRequest,但還是有少量的用戶,他們的瀏覽器不能支持,或由于瀏覽器安全設(shè)置而阻止對XMLHttpRequest的使用。
2)可用性考慮
圍繞著Ajax應(yīng)用的大部分問題都是很普通的問題。例如,讓用戶知道他們的輸入已經(jīng)被注冊并處理,是很重要的,因為在XMLHttpRequest處理過程中并不能提供通常的漏斗旋轉(zhuǎn)光標(biāo)。另一個問題是,用戶可能沒有注意到他們正在觀看的頁面已經(jīng)被更新??梢酝ㄟ^使用各種視覺技巧來將用戶的眼光吸引到頁面的更新區(qū)域。還有一個問題是通過Ajax更新頁面打斷了瀏覽器“退回前頁”按鈕的正常工作,地址欄中的URL不能反映頁面的全部狀態(tài),并且不能使用書簽功能。
3)服務(wù)器負(fù)載
使用Ajax界面代替?zhèn)鹘y(tǒng)的基于form的界面可能戲劇性地增加傳遞到服務(wù)器的請求數(shù)量。例如,一個普通的Google搜索給服務(wù)器造成一次命中,并在用戶確認(rèn)搜索表單時發(fā)生。然而,Google Suggest,將會試圖自動完成你的搜索詞,在用戶打字時將會往服務(wù)器發(fā)送多個請求。
4)處理異步
沒有任何東西可以保證XMLHttpRequest將會按照它們被發(fā)送的順序來依次結(jié)束。實際上,在設(shè)計系統(tǒng)時,應(yīng)該始終假定它們不會按原來順序結(jié)束,此時應(yīng)考慮該如何處理異步服務(wù)器響應(yīng)。
總之,從目前來看,Ajax的應(yīng)用還不是很成熟。
本文針對Ajax應(yīng)用中的服務(wù)器負(fù)載加重,異步通信的無序性和XMLHttpRequest可用性等問題給出了解決方法。
1)XMLHttpRequest的有效性
解決XMLHttpRequest的有效性首先使用“窮舉法”適應(yīng)不同的瀏覽器。對于當(dāng)今流行的瀏覽器如IE、Navigator、Firefox等新近版本都對XMLHttpRequest提供了支持。
雖然大部分現(xiàn)代瀏覽器支持XMLHttpRequest,但還是有少量的用戶的瀏覽器不能支持,或由于瀏覽器安全設(shè)置而阻止對XMLHttpRequest的使用。所以,可以采用對特殊應(yīng)用環(huán)境的“正常降級”使用,保證應(yīng)用系統(tǒng)能正常運(yùn)行,在系統(tǒng)中保留適用于不支持XMLHttpRequest的瀏覽器的功能。
解決方法之一是設(shè)置當(dāng)瀏覽器不支持XMLHttpRequest時,可以進(jìn)行常規(guī)的提交處理,并執(zhí)行頁面的整體刷新來反映狀態(tài)的變化。Ajax的行為可以在頁面被載入時通過JavaScript添加到頁面中,只在XMLHttpRequest可用的情況下,為操作綁定JavaScript處理函數(shù)。另一個方法是在用戶登錄時檢測XMLHttpRequest是否可用,再決定是提供Ajax版本還是常規(guī)基于form提交的版本。
2)服務(wù)器負(fù)載
使用Ajax界面代替?zhèn)鹘y(tǒng)的基于客戶端表單元素的界面根據(jù)用戶的操作,使頁面局部刷新而不是整個頁面重新載入,可能產(chǎn)生急劇地增加傳遞到服務(wù)器的請求數(shù)量。會造成服務(wù)器負(fù)載過重。例如,Google Suggest,將會試圖自動完成你的搜索詞,在用戶打字時將會往服務(wù)器發(fā)送多個請求。
解決方法可以從兩個方面考慮,即減少網(wǎng)絡(luò)流量和減少服
2)以交換式集線器代替共享式集線器的方式將不失為解除隱患的又一方法。
強(qiáng)化計算機(jī)管理是網(wǎng)絡(luò)系統(tǒng)安全的保證,加強(qiáng)設(shè)施管理,確保計算機(jī)網(wǎng)絡(luò)系統(tǒng)實體安全;強(qiáng)化訪問控制,力促計算機(jī)網(wǎng)絡(luò)系統(tǒng)運(yùn)行正常。
訪問控制是網(wǎng)絡(luò)安全防范和保護(hù)的主要措施,它的任務(wù)是保證網(wǎng)絡(luò)資源不被非法用戶使用和非常訪問,是網(wǎng)絡(luò)安全最重要的核心策略之一。
第一,建立入網(wǎng)訪問功能模塊。入網(wǎng)訪問控制為網(wǎng)絡(luò)提供了第一層訪問控制。用戶的入網(wǎng)訪問控制可分為3個過程:用戶名的識別與驗證;用戶口令的識別與驗證;用戶帳號的檢查。在3個過程中,如果其中一個不能成立,系統(tǒng)就視為非法用戶,則不能訪問該網(wǎng)絡(luò)。
第二,建立網(wǎng)絡(luò)的權(quán)限控制模塊。
第三,建立屬性安全服務(wù)模塊。屬性安全控制可以將給定的屬性與網(wǎng)絡(luò)服務(wù)器的文件、目錄和網(wǎng)絡(luò)設(shè)備聯(lián)系起來。屬性安全在權(quán)限安全的基礎(chǔ)上提供更進(jìn)一步的安全性。網(wǎng)絡(luò)屬性可以控制以下幾個方面的權(quán)限:向某個文件寫數(shù)據(jù)、拷貝一個文件、刪除目錄或文件的查看、執(zhí)行、隱含、共享及系統(tǒng)屬性等,還可以保護(hù)重要的目錄和文件,防止用戶對目錄和文件的誤刪除、執(zhí)行修改、顯示等。
第四,建立網(wǎng)絡(luò)服務(wù)器安全設(shè)置模塊。網(wǎng)絡(luò)服務(wù)器的安全控制包括設(shè)置口令鎖定服務(wù)器控制臺;設(shè)置服務(wù)器登錄時間限制、非法訪問者檢測和關(guān)閉的時間間隔;安裝非法防問設(shè)備等。安裝非法防問裝置最有效的設(shè)施是安裝防火墻。它是一個用以阻止網(wǎng)絡(luò)中非法用戶訪問某個網(wǎng)絡(luò)的屏障,也是控制進(jìn)、出兩個方向通信的門檻。
第五,建立檔案信息加密制度。
第六,建立網(wǎng)絡(luò)智能型日志系統(tǒng)。日志系統(tǒng)具有綜合性數(shù)據(jù)記錄功能和自動分類檢索能力。在該系統(tǒng)中,日志將記錄自某用戶登錄時起,到其退出系統(tǒng)時止,這所執(zhí)行的所有操作,包括登錄失敗操作,對數(shù)據(jù)庫的操作及系統(tǒng)功能的使用。日志所記錄的內(nèi)容有執(zhí)行某操作的用戶保執(zhí)行操作的機(jī)器IP地址、操作類型、操作對象及操作執(zhí)行時間等,以備日后審計核查之用。
第七,建立完善的備份及恢復(fù)機(jī)制。為了防止存儲設(shè)備的異常損壞,可采用由熱插拔SCSI硬盤所組成的磁盤容錯陣列,以RAID5的方式進(jìn)行系統(tǒng)的實時熱備份。同時,建立強(qiáng)大的數(shù)據(jù)庫觸發(fā)器和恢復(fù)重要數(shù)據(jù)的操作以及更新任務(wù),確保在任何情況下使重要數(shù)據(jù)均能最大限度地得到恢復(fù)。
第八,建立安全管理機(jī)構(gòu)。安全管理機(jī)構(gòu)的健全與否,直接關(guān)系到一個計算機(jī)系統(tǒng)的安全。其管理機(jī)構(gòu)由安全、審計、系統(tǒng)分析、軟硬件、通信、保安等有關(guān)人員組成。
隨著互聯(lián)網(wǎng)的飛速發(fā)展,網(wǎng)絡(luò)安全逐漸成為一個潛在的巨大問題。網(wǎng)絡(luò)安全性是一個涉及面很廣泛的問題,其中也會涉及到是否構(gòu)成犯罪行為的問題。在其最簡單的形式中,它主要關(guān)心的是確保無關(guān)人員不能讀取,更不能修改傳送給其他接收者的信息。此時,它關(guān)心的對象是那些無權(quán)使用,但卻試圖獲得遠(yuǎn)程服務(wù)的人。安全性也處理合法消息被截獲和重播的問題,以及發(fā)送者是否曾發(fā)送過該條消息的問題。