ASP”(Active Server Pages)作為一種典型的服務(wù)器端網(wǎng)頁設(shè)計(jì)技術(shù),被廣泛地應(yīng)用在網(wǎng)上銀行、電子商務(wù)、搜索引擎等各種互聯(lián)網(wǎng)應(yīng)用中。同時(shí)Access數(shù)據(jù)庫作為微軟推出的以標(biāo)準(zhǔn)JET為引擎的桌面型數(shù)據(jù)庫系統(tǒng),由于具有操作簡(jiǎn)單、界面友好等特點(diǎn),具有較大的用戶群體。
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對(duì)這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡(jiǎn)單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:國(guó)際域名空間、虛擬主機(jī)、營(yíng)銷軟件、網(wǎng)站建設(shè)、平順網(wǎng)站維護(hù)、網(wǎng)站推廣。
因此ASP+Access成為許多中小型網(wǎng)上應(yīng)用系統(tǒng)的首選方案。但ASP+Access解決方案在為我們帶來便捷的同時(shí),也帶來了不容忽視的安全問題。
ASP+Access的安全隱患ASP+Access解決方案的主要安全隱患來自Access數(shù)據(jù)庫的安全性,其次在于ASP網(wǎng)頁設(shè)計(jì)過程中的安全漏洞。
1.Access數(shù)據(jù)庫的存儲(chǔ)隱患
在ASP+Access應(yīng)用系統(tǒng)中,如果獲得或者猜到Access數(shù)據(jù)庫的存儲(chǔ)路徑和數(shù)據(jù)庫名,則該數(shù)據(jù)庫就可以被下載到本地。例如:對(duì)于網(wǎng)上書店的Access數(shù)據(jù)庫,人們一般命名為book.mdb、store.mdb等,而存儲(chǔ)的路徑一般為“URL/database”或干脆放在根目錄(“URL/”)下。這樣,只要在瀏覽器地址欄中敲入地址:“URL/database/store.mdb”,就可以輕易地把store.mdb下載到本地的機(jī)器中。
2.Access數(shù)據(jù)庫的解密隱患
由于Access數(shù)據(jù)庫的加密機(jī)制非常簡(jiǎn)單,所以即使數(shù)據(jù)庫設(shè)置了密碼,解密也很容易。該數(shù)據(jù)庫系統(tǒng)通過將用戶輸入的密碼與某一固定密鑰進(jìn)行異或來形成一個(gè)加密串,并將其存儲(chǔ)在*.mdb文件中從地址“&H42”開始的區(qū)域內(nèi)。由于異或操作的特點(diǎn)是“經(jīng)過兩次異或就恢復(fù)原值”,因此,用這一密鑰與*.mdb文件中的加密串進(jìn)行第二次異或操作,就可以輕松地得到Access數(shù)據(jù)庫的密碼?;谶@種原理,可以很容易地編制出解密程序。 由此可見,無論是否設(shè)置了數(shù)據(jù)庫密碼,只要數(shù)據(jù)庫被下載,其信息就沒有任何安全性可言了。
3.源代碼的安全隱患
由于ASP程序采用的是非編譯性語言,這大大降低了程序源代碼的安全性。任何人只要進(jìn)入站點(diǎn),就可以獲得源代碼,從而造成ASP應(yīng)用程序源代碼的泄露。
4.程序設(shè)計(jì)中的安全隱患
aSP代碼利用表單(form)實(shí)現(xiàn)與用戶交互的功能,而相應(yīng)的內(nèi)容會(huì)反映在瀏覽器的地址欄中,如果不采用適當(dāng)?shù)陌踩胧灰浵逻@些內(nèi)容,就可以繞過驗(yàn)證直接進(jìn)入某一頁面。例如在瀏覽器中敲入“……page.asp?x=1”,即可不經(jīng)過表單頁面直接進(jìn)入滿足“x=1”條件的頁面。因此,在設(shè)計(jì)驗(yàn)證或注冊(cè)頁面時(shí),必須采取特殊措施來避免此類問題的發(fā)生。 提高數(shù)據(jù)庫的安全性由于Access數(shù)據(jù)庫加密機(jī)制過于簡(jiǎn)單,因此,如何有效地防止Access數(shù)據(jù)庫被下載,就成了提高ASP+Access解決方案安全性的重中之重。
1.非常規(guī)命名法
防止數(shù)據(jù)庫被找到的簡(jiǎn)便方法是為Access數(shù)據(jù)庫文件起一個(gè)復(fù)雜的非常規(guī)名字,并把它存放在多層目錄下。例如,對(duì)于網(wǎng)上書店的數(shù)據(jù)庫文件,不要簡(jiǎn)單地命名為“book.mdb”“store.mdb”,而是要起個(gè)非常規(guī)的名字,例如:faq19jhsvzbal.mdb,再把它放如./akkjj16t/kjhgb661/acd/avccx55 之類的深層目錄下。這樣,對(duì)于一些通過猜的方式得到Access數(shù)據(jù)庫文件名的非法訪問方法起到了有效的阻止作用。
2.使用ODBC數(shù)據(jù)源
在ASP程序設(shè)計(jì)中,應(yīng)盡量使用ODBC數(shù)據(jù)源,不要把數(shù)據(jù)庫名直接寫在程序中,否則,數(shù)據(jù)庫名將隨ASP源代碼的失密而一同失密。即使數(shù)據(jù)庫名字起得再怪異,隱藏的目錄再深,ASP源代碼失密后,數(shù)據(jù)庫也很容易被下載下來。如果使用ODBC數(shù)據(jù)源,就不會(huì)存在這樣的問題了: conn.open “ODBC-DSN名”
對(duì)ASP網(wǎng)站建設(shè)頁面進(jìn)行加密為有效地防止ASP網(wǎng)站建設(shè)源代碼泄露,可以對(duì)ASP頁面進(jìn)行加密。一般有兩種方法對(duì)ASP頁面進(jìn)行加密。一種是使用組件技術(shù)將編程邏輯封裝入DLL之中;另一種是使用微軟的Script Encoder對(duì)ASP頁面進(jìn)行加密。筆者認(rèn)為,使用組件技術(shù)存在的主要問題是每段代碼均需組件化,操作比較煩瑣,工作量較大;而使用Script Encoder對(duì)ASP頁面進(jìn)行加密,操作簡(jiǎn)單、收效良好。
網(wǎng)頁題目:ASP網(wǎng)站建設(shè)的安全解決方法
網(wǎng)頁地址:http://www.rwnh.cn/article27/dghjhjj.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營(yíng)銷推廣、網(wǎng)站制作、網(wǎng)站營(yíng)銷、做網(wǎng)站、小程序開發(fā)、用戶體驗(yàn)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)