2007年2月14日 星期三

Access 的資料庫安全小Tip

通常我們寫小程式時,常會選擇ACCESS當作資料庫,您知道這是會被下載的嗎?


如題:

 通常我們在寫一些小程式,或者是說沒有自己的主機必須使用免費的空間,這時候我們會用ACCESS資料庫(.MDB),當作儲存的資料庫,因為使用簡單,大多數免費空間也都只支援這個東西,而您知道嗎?只要不小心洩漏了您的資料庫位置,這個資料庫是會被下載下來的。

 尤其當資料庫存放的是敏感性資料,像是帳號之類的,那接下來就是要您擔心一下網站的安全囉,那是不是就沒有辦法了呢?當然不是,ASP有一個方便的特性,就是使用的資料庫只要本身是ACCESS資料結構,搭配好正確的連結語法。

 例如說我本來使用的資料庫檔名為DATA.MDB,但是我把它改為DATA.ASP好了,不要以為這樣就無法使用,錯囉~只要連結的檔名正確,還是一樣可以使用而且不用擔心資料格式會有問題,因為ASP程式會用原本資料庫結構下去執行讀取修改功能,只要您不要隨意修改更改過檔案格式的資料庫,那就不會有任何問題。

 看到我剛剛使用.asp當作副檔名,是不是會有人想,對吼!我把它改成ASP就不會被下載了啦,告訴您,您只對了一半,為什麼這樣說呢,因為ASP不會被解讀原始碼是因為它的原始碼是用 包起來,伺服器再轉換時看到開頭 作結束。

 而單純將資料庫改成ASP格式是沒有用的,伺服器會直接跳過沒有 的地方不轉換,直接給他顯示出來,而檔案本身結構沒有改變就會直接在瀏覽器上顯示,把它當作文字檔案顯示出來,就算是改成其他怪怪的檔案也是如此,除非是經由伺服器上的設定來尋找,否則用個簡單的瀏覽器直接下載或者是續傳軟體給他慢慢抓,都是可以輕易地將資料庫抓下來。

 被抓下來的資料庫就算有鎖密碼,還是很容易被破解,所以總結一句話,必須在瀏覽器出現時更改過內容,否則都會被下載,顧慮到免費空間的關係,所以找了一個最簡單的方法,怎樣改?改成.htw就可以了,為什麼呢?因為IIS原始設定中,有個預設執行副檔名,可以針對各種副檔案名作處理動作,其中htw是一種特殊格式,而該檔案內容必須參照一定的格式開頭,而改過的資料庫因為絕對不可能符合,所以會在瀏覽器上出現錯誤畫面,也就隱藏掉了資料庫內容,這個方法在免費asp空間上也可以使用,因為IIS預設就會有該設定,這樣就絕對不怕會被抓到資料庫啦。

沒有留言: