如何防止Access數(shù)據(jù)庫(kù)下載是一個(gè)很老的話題了,網(wǎng)上的討論也比較多。這里我們給出幾種在ASP.NET下防止Access數(shù)據(jù)庫(kù)被下載的方法。
我們這里假設(shè)Access數(shù)據(jù)庫(kù)名字為 test.mdb。
1、把數(shù)據(jù)庫(kù)放在WEB
如你的網(wǎng)站目錄是D:www,你可以把數(shù)據(jù)庫(kù)放到D:data 這個(gè)文件夾里,然后修改網(wǎng)站程序中的數(shù)據(jù)庫(kù)連接字串地址部分為:"D:datatest.mdb" ,這樣數(shù)據(jù)庫(kù)可以正常調(diào)用,但是無(wú)法下載的,因?yàn)樗辉诰W(wǎng)站目錄里。
假設(shè)在web.config中配置數(shù)據(jù)庫(kù)連接字符串。例如:
<connectionStrings> <add name="Access" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;data source=d:datatest.mdb" providerName="System.Data.OleDb" /> </connectionStrings>
2、把數(shù)據(jù)庫(kù)放在App_Data系統(tǒng)文件夾下
從.Net2.0開始有App_Data目錄來(lái)專門存放數(shù)據(jù)文件,它可以用來(lái)放Access,SQL Server Express、XML等數(shù)據(jù)文件。數(shù)據(jù)庫(kù)文件放到App_Data文件夾的好處就是可以防止被下載。而對(duì)于連接字符串?dāng)?shù)據(jù)庫(kù)的文件位置可以使用DataDirectory關(guān)鍵來(lái)表示它的物理路徑,從而在獲取連接字符串的時(shí)候不再需要使用Server.MapPath()轉(zhuǎn)換。
假設(shè)在web.config中配置數(shù)據(jù)庫(kù)連接字符串。例如:
<connectionStrings> <add name="Access" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;data source=|DataDirectory|test.mdb" providerName="System.Data.OleDb" /> </connectionStrings>
|DataDirectory|就是代表的app_data文件夾。
3、重命名數(shù)據(jù)庫(kù)文件
將你的 Access 重命名 *.asax:因?yàn)?ASP.NET 的處理機(jī)制中,默認(rèn)情況下,對(duì)這樣的請(qǐng)求是直接拒絕的。按照這個(gè)思路,還可以把 Access 重命名為 *.config,*.vb, *.cs 等等。
4、配置IIS,添加.mdb文件類型映射
添加.mdb的擴(kuò)展映射這個(gè)方法就是通過(guò)修改IIS設(shè)置來(lái)實(shí)現(xiàn)。只需2個(gè)步驟。
1. 配置IIS,將.mdb文件類型映射到ASP.NET ISAPI。
以windows 2003為例,點(diǎn)擊“開始”-》運(yùn)行-》輸入“inetmgr” 回車,打開“Internet 服務(wù)管理器”。在某一個(gè)網(wǎng)站上單擊鼠標(biāo)右鍵-》點(diǎn)擊“屬性” 彈出此站點(diǎn)的屬性對(duì)話框。點(diǎn)擊“主目錄”選項(xiàng)卡,點(diǎn)擊“配置”按鈕,則會(huì)顯示“應(yīng)用程序配置”對(duì)話框。點(diǎn)擊“添加”增加一個(gè)映射,這時(shí)會(huì)顯示一個(gè)對(duì)話框,要你輸入可執(zhí)行文件:“C:WINDOWS Microsoft.NET Framework v2.0.50727 aspnet_isapi.dll”;輸入擴(kuò)展名:“.mdb”。如下圖所示

2. 配置asp.net的web.config文件,將.mdb文件類型映射到HttpForbiddenHandler HTTP handler。
使asp.net應(yīng)用程序.mdb文件類型映射到HttpForbiddenHandler HTTP 句柄。為了達(dá)到這上步,必須將下面的配置加到Web.config文件中
<httpHandlers> <add verb="*" path="*.mdb" type="System.Web.HttpForbiddenHandler" /> </httpHandlers>
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注