多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國(guó)內(nèi)最全I(xiàn)T社區(qū)平臺(tái) 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁(yè) > 數(shù)據(jù)庫(kù) > access > ASP+Access的安全隱患及對(duì)策

ASP+Access的安全隱患及對(duì)策

來源:程序員人生   發(fā)布時(shí)間:2013-12-18 12:30:37 閱讀次數(shù):3269次
ASP+Access解決方案的主要安全隱患來自Access數(shù)據(jù)庫(kù)的安全性,其次在于ASP網(wǎng)頁(yè)設(shè)計(jì)過程中的安全漏洞。

  1.Access數(shù)據(jù)庫(kù)的存儲(chǔ)隱患

  在ASP+Access應(yīng)用系統(tǒng)中,如果獲得或者猜到Access數(shù)據(jù)庫(kù)的存儲(chǔ)路徑和數(shù)據(jù)庫(kù)名,則該數(shù)據(jù)庫(kù)就可以被下載到本地。例如:對(duì)于網(wǎng)上書店的Access數(shù)據(jù)庫(kù),人們一般命名為book.mdb、store.mdb等,而存儲(chǔ)的路徑一般為“URL/database”或干脆放在根目錄(“URL/”)下。這樣,只要在瀏覽器地址欄中敲入地址:“URL/database/store.mdb”,就可以輕易地把store.mdb下載到本地的機(jī)器中。

  2.Access數(shù)據(jù)庫(kù)的解密隱患

  由于Access數(shù)據(jù)庫(kù)的加密機(jī)制非常簡(jiǎn)單,所以即使數(shù)據(jù)庫(kù)設(shè)置了密碼,解密也很容易。該數(shù)據(jù)庫(kù)系統(tǒng)通過將用戶輸入的密碼與某一固定密鑰進(jìn)行異或來形成一個(gè)加密串,并將其存儲(chǔ)在*.mdb文件中從地址“&H42”開始的區(qū)域內(nèi)。由于異或操作的特點(diǎn)是“經(jīng)過兩次異或就恢復(fù)原值”,因此,用這一密鑰與*.mdb文件中的加密串進(jìn)行第二次異或操作,就可以輕松地得到Access數(shù)據(jù)庫(kù)的密碼。基于這種原理,可以很容易地編制出解密程序。

  由此可見,無(wú)論是否設(shè)置了數(shù)據(jù)庫(kù)密碼,只要數(shù)據(jù)庫(kù)被下載,其信息就沒有任何安全性可言了。

  3.源代碼的安全隱患

   由于ASP程序采用的是非編譯性語(yǔ)言,這大大降低了程序源代碼的安全性。任何人只要進(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)入某一頁(yè)面。例如在瀏覽器中敲入“……page.asp?x=1”,即可不經(jīng)過表單頁(yè)面直接進(jìn)入滿足“x=1”條件的頁(yè)面。因此,在設(shè)計(jì)驗(yàn)證或注冊(cè)頁(yè)面時(shí),必須采取特殊措施來避免此類問題的發(fā)生。
  
  提高數(shù)據(jù)庫(kù)的安全性

  由于Access數(shù)據(jù)庫(kù)加密機(jī)制過于簡(jiǎn)單,因此,如何有效地防止Access數(shù)據(jù)庫(kù)被下載,就成了提高ASP+Access解決方案安全性的重中之重。

  1.非常規(guī)命名法

  防止數(shù)據(jù)庫(kù)被找到的簡(jiǎn)便方法是為Access數(shù)據(jù)庫(kù)文件起一個(gè)復(fù)雜的非常規(guī)名字,并把它存放在多層目錄下。例如,對(duì)于網(wǎng)上書店的數(shù)據(jù)庫(kù)文件,不要簡(jiǎn)單地命名為“book.mdb”或“store.mdb”,而是要起個(gè)非常規(guī)的名字,例如:faq19jhsvzbal.mdb,再把它放在如./akkjj16t/kjhgb661/acd/avccx55 之類的深層目錄下。這樣,對(duì)于一些通過猜的方式得到Access數(shù)據(jù)庫(kù)文件名的非法訪問方法起到了有效的阻止作用。

  2.使用ODBC數(shù)據(jù)源

  在ASP程序設(shè)計(jì)中,應(yīng)盡量使用ODBC數(shù)據(jù)源,不要把數(shù)據(jù)庫(kù)名直接寫在程序中,否則,數(shù)據(jù)庫(kù)名將隨ASP源代碼的失密而一同失密。例如:

  DBPath = Server.MapPath(“./akkjj16t/ kjhgb661/acd/avccx55/faq19jhsvzbal.mdb ”)

  conn.Open “driver={Microsoft Access Driver (*.mdb)};dbq=” & DBPath

  可見,即使數(shù)據(jù)庫(kù)名字起得再怪異,隱藏的目錄再深,ASP源代碼失密后,數(shù)據(jù)庫(kù)也很容易被下載下來。如果使用ODBC數(shù)據(jù)源,就不會(huì)存在這樣的問題了:

  conn.open “ODBC-DSN名”
 
?????? 對(duì)ASP頁(yè)面進(jìn)行加密

  為有效地防止ASP源代碼泄露,可以對(duì)ASP頁(yè)面進(jìn)行加密。一般有兩種方法對(duì)ASP頁(yè)面進(jìn)行加密。一種是使用組件技術(shù)將編程邏輯封裝入DLL之中;另一種是使用微軟的Script Encoder對(duì)ASP頁(yè)面進(jìn)行加密。筆者認(rèn)為,使用組件技術(shù)存在的主要問題是每段代碼均需組件化,操作比較煩瑣,工作量較大;而使用Script Encoder對(duì)ASP頁(yè)面進(jìn)行加密,操作簡(jiǎn)單、收效良好。Script Encoder方法具有許多優(yōu)點(diǎn):

  1.HTML仍具有很好的可編輯性。Script Encoder只加密在HTML頁(yè)面中嵌入的ASP代碼,其他部分仍保持不變,這就使得我們?nèi)匀豢梢允褂肍rontPage或Dreamweaver等常用網(wǎng)頁(yè)編輯工具對(duì)HTML部分進(jìn)行修改、完善,只是不能對(duì)ASP加密部分進(jìn)行修改,否則將導(dǎo)致文件失效。

  2.操作簡(jiǎn)單。只要掌握幾個(gè)命令行參數(shù)即可。Script Encoder的運(yùn)行程序是screnc.exe,其使用方法如下:

  screnc [/s] [/f] [/xl] [/l defLanguage ] [/e defExtension] inputfile outputfile

  其中的參數(shù)含義如下:

  s:屏蔽屏幕輸出;

  f:指定輸出文件是否覆蓋同名輸入文件;

  xl:是否在.asp文件的頂部添加@Language指令;

  l:defLanguag指定缺省的腳本語(yǔ)言;

  e:defExtension 指定待加密文件的擴(kuò)展名。

  3.可以批量加密文件。使用Script Encoder可以對(duì)當(dāng)前目錄中的所有的ASP 文件進(jìn)行加密,并把加密后的文件統(tǒng)一輸出到相應(yīng)的目錄中。例如:

  screnc *.asp c: emp

  4. Script Encoder是免費(fèi)軟件。該加密軟件可以從微軟網(wǎng)站下載:http://msdn.microsoft.com/scripting/VBscript/download/x86/sce10en.exe。下載后,運(yùn)行安裝即可。

  利用Session對(duì)象進(jìn)行注冊(cè)驗(yàn)證

  為防止未經(jīng)注冊(cè)的用戶繞過注冊(cè)界面直接進(jìn)入應(yīng)用系統(tǒng),可以采用Session對(duì)象進(jìn)行注冊(cè)驗(yàn)證。Session對(duì)象最大的優(yōu)點(diǎn)是可以把某用戶的信息保留下來,讓后續(xù)的網(wǎng)頁(yè)讀取。

  設(shè)計(jì)要求用戶注冊(cè)成功后系統(tǒng)啟動(dòng)hrmis.asp?page=1頁(yè)面。如果不采用Session對(duì)象進(jìn)行注冊(cè)驗(yàn)證,則用戶在瀏覽器中敲入“URL/hrmis.asp?page=1”即可繞過注冊(cè)界面,直接進(jìn)入系統(tǒng)。利用Session對(duì)象可以有效阻止這一情況的發(fā)生。相關(guān)的程序代碼如下:

  <%

  ' 讀取用戶輸入的賬號(hào)和密碼

  UserID = Request(“UserID”)

  Password = Request(“Password”)

  ' 檢查UserID 及Password 是否正確(實(shí)際程序可能會(huì)比較復(fù)雜)

  If UserID <>“hrmis” Or Password <>

  “password” Then

  Response.Write “賬號(hào)錯(cuò)誤!”

  Response.End

  End If

  '將Session 對(duì)象設(shè)置為通過驗(yàn)證狀態(tài)

  Session(“Passed”) = True

  %>

  進(jìn)入應(yīng)用程序后,首先進(jìn)行驗(yàn)證:

  <%

  '如果未通過驗(yàn)證,返回Login狀態(tài)

  If Not Session(“Passed”) Then

  Response.Redirect “Login.asp”

  End If

  %>
生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 欧美人xxxx另类 | 美女h在线观看 | 免看一级a毛片一片成人不卡 | 国产caob| 91精品国产露脸在线 | 午夜刺激 | 国产精品亚洲片夜色在线 | tubexxxx做受88欧美| 亚洲一区二区三区高清网 | 国产国拍亚洲精品av | 多人伦精品一区二区三区视频 | www黄com| 亚洲日本一区二区 | 亚洲天砖砖区免费 | 性欧美18videofreetubehd黑人 | 日韩 欧美 亚洲 | 最近的中文字幕手机在线看免费 | 天堂在线影院 | 日韩一区二区三区四区 | 精品视频在线观看免费 | 在线免费网站 | 都市激情亚洲色图 | 亚洲防屏蔽一区二区 | 最新中文字幕乱码在线 | 欧美日本高清动作片www网站 | 日韩一级a毛片欧美区 | 在线欧美三级 | 亚洲成a人v欧美综合天 | 国产精品自拍在线观看 | 波多野结衣视频在线免费观看 | 国产色啪午夜免费福利视频 | 亚洲福利在线视频 | 久久一区二区精品综合 | 国产精品不卡片视频免费观看 | 黄大片日本一级在线a | 亚洲图片另类小说 | 欧美性另类 | 日韩乱码视频 | 国产一级一片 | h 在线播放| 亚洲精品第一综合99久久 |