ACCESS數據庫有一個致命的缺點就是容易被下載。大家知道,一個網站的秘密其實就是數據庫,數據庫如果被下載了,不用我說這意味著什么了吧。最常用的ACCESS防下載的方法,是把數據庫的擴展名改成.asp,或者在數據庫名前加#號等等,但都起不到真正的作用,仍然可以破解下載數據庫,最好的方法就是在ACCESS數據庫中添加防下載字段,具體方法如下:
準備工作:
1、安裝ACCESS數據庫軟件
2、新建一個ACCESS數據庫,這里假設為data.mdb
添加ACCESS防下載字段:
1、打開剛才新建的data.mdb數據庫,點擊“對象”中的“查詢”選項,然后雙擊“在設計視圖中創建查詢”選項:
2、在彈出的“顯示表”窗口中點擊“關閉”按鈕,此時在工具欄中會多出一個SQL圖標,單擊該圖標:
3、在彈出的查詢窗口中輸入如下語句后點擊運行按鈕(即工具欄中的感嘆號):
Create Table [obj_notdown]([asphtmer] oleobject)
上面語句的說明:創建了一個名為“obj_notdown”表,其中的字段名稱為“asphtmer”,字段類型為“OLE對象”。
4、將查詢窗口中的語句刪除,并輸入如下語句后運行,運行的時候會提示是否追加1行,點擊“是”按鈕:
Insert into [obj_notdown](asphtmer) values(0x3C25)
上面語句的說明:向“obj_notdown”表的“asphtmer”字段中插入“0x3C25”數據(“0x3C25”為字符“<%”的16進制)。
5、關閉查詢窗口,此時提示你是否要保存,選擇否即可。
此時ACCESS防下載字段就添加完成了,切換到“表”對象,會發現里面多了一個表obj_notdown,打開后發現字段顯示的是“長二進制數據”:
6、將data.mdb數據庫改名為data.asp
原理分析:因為當數據庫的擴展名變成ASP格式后,從遠程訪問這個文件的時候,IIS服務器就會把它當成ASP程序來執行,而我們之前在ACCESS數據庫中插入了“<%”符號,而ASP程序必須在<%%>標記中才能執行,所以就會出現“缺少腳本關閉標記”的錯誤。由于這個錯誤,所以人家就無法下載ACCESS數據庫了,也就達到了ACCESS數據庫防下載的目的。