国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
關(guān)于asp+access的安全問題
  眾所周知,asp+access最大的安全隱患在于access數(shù)據(jù)庫可以被別人
  下載,而現(xiàn)在提供的很多asp空間都是只支持access數(shù)據(jù)庫,這樣一來,
  asp+access的安全問題就顯得很突出了。
  
  1.Access數(shù)據(jù)庫的存儲隱患
  在ASP+Access應(yīng)用系統(tǒng)中,如果獲得或者猜到Access數(shù)據(jù)庫的存儲路
  徑和數(shù)據(jù)庫名,則該數(shù)據(jù)庫就可以被下載到本地。
  
  2.Access數(shù)據(jù)庫的解密隱患
  由于Access數(shù)據(jù)庫的加密機(jī)制非常簡單,所以即使數(shù)據(jù)庫設(shè)置了密碼,
  解密也很容易。該數(shù)據(jù)庫系統(tǒng)通過將用戶輸入的密碼與某一固定密鑰進(jìn)行
  異或來形成一個加密串,并將其存儲在*.mdb文件中從地址“&H42”開
  始的區(qū)域內(nèi)。由于異或操作的特點(diǎn)是“經(jīng)過兩次異或就恢復(fù)原值”,因
  此,用這一密鑰與*.mdb文件中的加密串進(jìn)行第二次異或操作,就可以輕
  松地得到Access數(shù)據(jù)庫的密碼?;谶@種原理,可以很容易地編制出解密
  程序。
  
  由此可見,無論是否設(shè)置了數(shù)據(jù)庫密碼,只要數(shù)據(jù)庫被下載,其信息就沒有任何安全性可言了。
  
  3.程序設(shè)計(jì)中的安全隱患
  ASP代碼利用表單(form)實(shí)現(xiàn)與用戶交互的功能,而相應(yīng)的內(nèi)容會反
  映在瀏覽器的地址欄中,如果不采用適當(dāng)?shù)陌踩胧灰浵逻@些內(nèi)
  容,就可以繞過驗(yàn)證直接進(jìn)入某一頁面。例如在瀏覽器中敲入“……
  page.asp?x=1”,即可不經(jīng)過表單頁面直接進(jìn)入滿足“x=1”條件的頁
  面。因此,在設(shè)計(jì)驗(yàn)證或注冊頁面時,必須采取特殊措施來避免此類問題
  的發(fā)生。
  
  ==========
  解決方案
  ==========
  
  提高數(shù)據(jù)庫的安全性
  由于Access數(shù)據(jù)庫加密機(jī)制過于簡單,因此,如何有效地防止Access
  數(shù)據(jù)庫被下載,就成了提高ASP+Access解決方案安全性的重中之重。
  
  1.非常規(guī)命名法
  防止數(shù)據(jù)庫被找到的簡便方法是為Access數(shù)據(jù)庫文件起一個復(fù)雜的非常
  規(guī)名字,并把它存放在多層目錄下。例如,對于網(wǎng)上書店的數(shù)據(jù)庫文件,
  不要簡單地命名為“book.mdb”或“store.mdb”,而是要起個非常規(guī)的
  名字,例如:faq19jhsvzbal.mdb,再把它放在
  如./akkjj16t/kjhgb661/acd/avccx55之類的深層目錄下。這樣,對于
  一些通過猜的方式得到Access數(shù)據(jù)庫文件名的非法訪問方法起到了有效的
  阻止作用。
  
  2.使用ODBC數(shù)據(jù)源
  在ASP程序設(shè)計(jì)中,應(yīng)盡量使用ODBC數(shù)據(jù)源,不要把數(shù)據(jù)庫名直接寫在
  程序中,否則,數(shù)據(jù)庫名將隨ASP源代碼的失密而一同失密。例如:
  DBPath = Server.MapPath(“./akkjj16t/
  kjhgb661/acd/avccx55/faq19jhsvzbal.mdb ”)
  conn.Open“driver={Microsoft Access Driver (*.mdb)};dbq=” & DBPath
  可見,即使數(shù)據(jù)庫名字起得再怪異,隱藏的目錄再深,ASP源代碼失密
  后,數(shù)據(jù)庫也很容易被下載下來。如果使用ODBC數(shù)據(jù)源,就不會存在這樣
  的問題了:
  conn.open “ODBC-DSN名”
  對ASP頁面進(jìn)行加密
  為有效地防止ASP源代碼泄露,可以對ASP頁面進(jìn)行加密。一般有兩種方
  法對ASP頁面進(jìn)行加密。一種是使用組件技術(shù)將編程邏輯封裝入DLL之中;
  另一種是使用微軟的ScriptEncoder對ASP頁面進(jìn)行加密。但是,使用組
  件技術(shù)存在的主要問題是每段代碼均需組件化,操作比較煩瑣,工作量較
  大;而使用Script Encoder對ASP頁面進(jìn)行加密,操作簡單、收效良好。
  Script Encoder方法具有許多優(yōu)點(diǎn):
  
  ⑴.HTML仍具有很好的可編輯性。Script Encoder只加密在HTML頁面中
  嵌入的ASP代碼,其他部分仍保持不變,這就使得我們?nèi)匀豢梢允褂?br>  FrontPage或Dreamweaver等常用網(wǎng)頁編輯工具對HTML部分進(jìn)行修改、完
  善,只是不能對ASP加密部分進(jìn)行修改,否則將導(dǎo)致文件失效。
  ⑵.操作簡單。只要掌握幾個命令行參數(shù)即可。Script Encoder的運(yùn)行
  程序是screnc.exe,其使用方法如下:
  screnc [/s] [/f] [/xl] [/l defLanguage ] [/edefExtension] inputfile outputfile
  其中的參數(shù)含義如下:
  s:屏蔽屏幕輸出;
  f:指定輸出文件是否覆蓋同名輸入文件;
  xl:是否在.asp文件的頂部添加@Language指令;
  l:defLanguag指定缺省的腳本語言;
  e:defExtension 指定待加密文件的擴(kuò)展名。
  ⑶.可以批量加密文件。使用Script Encoder可以對當(dāng)前目錄中的所有
  的ASP文件進(jìn)行加密,并把加密后的文件統(tǒng)一輸出到相應(yīng)的目錄中。例
  如:
  screnc *.asp c:\temp
  ⑷. ScriptEncoder是免費(fèi)軟件。該加密軟件可以從微軟網(wǎng)站下載:
  http://msdn.microsoft.com/scripting/vbscript/download/x86/sce10en.exe。下載后,運(yùn)行安裝即可。
  
  利用Session對象進(jìn)行注冊驗(yàn)證
  為防止未經(jīng)注冊的用戶繞過注冊界面直接進(jìn)入應(yīng)用系統(tǒng),可以采用Session對象進(jìn)行注冊驗(yàn)證。Session對象最大的優(yōu)點(diǎn)是可以把某用戶的信息保留下來,讓后續(xù)的網(wǎng)頁讀取。
  
  3.改數(shù)據(jù)庫擴(kuò)展名
  你也可以將數(shù)據(jù)庫的擴(kuò)展名改為.asp,當(dāng)然在定位數(shù)據(jù)庫的時候也要
  用類似database.asp的文件名,這樣數(shù)據(jù)庫不會被輕易的下載,而數(shù)據(jù)
  還可以正常的讀出寫入。
  
  4.向數(shù)據(jù)庫內(nèi)加錯誤的asp代碼
  如果以為做完第3項(xiàng)以后就萬事大吉了那就錯了,雖然數(shù)據(jù)庫的擴(kuò)展名
  變成了.asp,但是當(dāng)對方猜到了你的數(shù)據(jù)庫路徑以后還是可以下載的,只
  不過慢了一些,對方可以等頁面完全打開以后“另存為”就可以了。要解
  決這個問題可以載數(shù)據(jù)庫內(nèi)添加錯誤的asp代碼。你可以先建立一個隱藏
  表,表內(nèi)只有一列,并且插入這樣一行:
  
  這樣一來對方打開數(shù)據(jù)庫的頁面時就只會出現(xiàn)asp腳本的錯誤信息,而不
  會下載你的數(shù)據(jù)庫了。
  
  5.對于程序設(shè)計(jì)中隱患的解決一例
  大多數(shù)人都認(rèn)為網(wǎng)站只要加了登錄密碼就無法正常進(jìn)入了。而請您看下
  面的驗(yàn)證語句:
  
  sql="select uname,pwd from uinfo where "
  sql=sql&"uname='"&request.form("uname")&"'"
  sql=sql&" and pwd='"&request.form("pwd")&"'"
  rs.opensql,conn,1,1
  if rs.eof or rs.bof then
  response.write"對不起,錯誤的用戶名/密碼!"
  else
  response.write "登錄成功!"
  end if
  
  可能已經(jīng)有讀者看出來了這段代碼是十分危險的,只要對方知道用戶名就
  可以登錄,你可以在密碼框里輸入“' or'1'='1”就可以了,其原理很
  簡單,就是利用了sql查詢語句,大家注意,用此方法提交以后的sql語句
  變成了:(如果用戶名為administrator)
  select uname,pwd from uinfo whereuname='administrator' and pwd='' or '1'='1'
  如果用戶名administrator存在的話那么這個記錄是可以被選出來的,之
  后當(dāng)然就是可以正常登錄了。
  
  解決方案:
  
  sql="select uname,pwd from uinfo where "
  sql=sql&"uname='"&request.form("uname")&"'"
  rs.opensql,conn,1,1
  if rs.eof or rs.bof then
  response.write "對不起,本站沒有此用戶!"
  else
  if rs.fields("pwd")=trim(request.form("pwd")) then
  response.write "登錄成功!"
  else
  response.write "錯誤的用戶名/密碼!"
  end if
  end if
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
用ASP連接讀寫ACCESS數(shù)據(jù)庫實(shí)例
利用ASP連接各種數(shù)據(jù)庫
ASP+Access的安全隱患及對策 - tech.2EC.cn - 開發(fā)者資料庫
IIS+ASP建網(wǎng)站安全性分析 - Laky blog {游風(fēng)}
Access 數(shù)據(jù)庫安全攻防策略
《新手來看:Access的特點(diǎn)、概念》
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服