關於Access資料庫安全

來源:互聯網
上載者:User
access|安全|資料|資料庫|資料庫安全 今天再次看到Access資料庫安全的文章,每次看到這種文章就想說上兩句,流行說法有幾種:
一、密碼式
  給資料庫起一個隨機複雜的名稱,避免被猜到被下載,這種方式在以前很流行,因為大家都對自己的代碼很有自信。但隨著錯誤提示對資料庫地址的泄露導致資料庫被非法下載,這種方式也就越來越少人用了。
二、"#"式
  在資料庫名稱裡加上#號,從URL上請求時#是請求地址和請求參數的一個分隔字元,如果知道了資料庫名,直接請求的話,如:http://www.xx.com/access#.mdb,WEB伺服器會認為請求的是access而不是access#.mdb,所以會提示找不到檔案,但是很遺憾,URL中對於這些特殊的字元都會有一個特殊的表示方式,#的特殊表示就是%23,如http://www.xx.com/access%23.mdb,那麼access#.mdb將會被下載。還有如果用FlashGet之類的下載工具也可以直接下載。
三、ASP式
  這種作法是比較專業但也是很安全的也是現在比較流行的作法,但是現在許多的人只是作了一半,只是將資料名改成ASP而以,這樣的話直接用FlashGet之類的下載工具一樣可以將資料庫下載,這種方式的正確作法有兩步:
  第一步:在資料庫內建立一個欄位,名稱隨意,類型是OLE對象,內容設定為單位元組型的"<%",即(ASP代碼chrB(asc("<")) & chrB(asc("%"))的運行結果)
  第二步:將資料庫改名為ASP
  這樣從URL上直接請求這個資料庫將會提示"缺少關閉指令碼分隔字元",從而拒絕下載,因為這個方式比較麻煩我在網上找了一段小代碼來完成OLE對象的插入工作,只要將資料庫名設定好,然後放在和資料庫內一目錄運行一下就可以了。
  代碼全文數下:
<%
db="d.mdb" '這裡改成您的資料庫地址
set conn=server.createobject("Adodb.Connection")
connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath(db)
conn.open connstr
conn.execute("create table notdownload(notdown oleobject)")
set rs=server.createobject("adodb.recordset")
sql="select * from notdownload"
rs.open sql,conn,1,3
rs.addnew
rs("notdown").appendchunk(chrB(asc("<")) & chrB(asc("%")))
rs.update
rs.close
set rs=nothing
conn.close
set conn=nothing
%>
  這段代碼運行完之後將會在資料庫內產生一個nodownload表,表內欄位是notdown。如果資料庫內已有同名的資料表存在請將代碼內的nodownload改成自己想要的資料表名即可。
四、asa式
  這種方式的真諦是利用IIS對ASA檔案的保護,從而使得資料庫檔案不能從URL上直接請求下載,但是這種方式被誤解成只要將檔案尾碼改成ASA就可以了。要知道IIS只是對global.asa這個檔案名稱有請求保護,所以這種方式只能將資料庫名設定為global.asa,而且要注意的是,設定成global.asa之後最好不要將其放在主機或虛擬目錄的根目錄裡,不然會被IIS當然正常的global.asa檔案進行嘗試啟動並執行。

感覺第三第四種是比較安全的,除非IIS有查看ASP或ASA源碼的漏洞,否則是無法將資料庫下載的。



相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。