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