asp.net防止access數(shù)據(jù)庫(kù)下載的設(shè)置方法

我們這里假設(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:\data\test.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:\data\test.mdb" providerName="System.Data.OleDb" />
</connectionStrings>
2、把數(shù)據(jù)庫(kù)放在App_Data系統(tǒng)文件夾下
從.Net2.0開(kāi)始有App_Data目錄來(lái)專(zhuān)門(mén)存放數(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文件類(lèi)型映射
添加.mdb的擴(kuò)展映射這個(gè)方法就是通過(guò)修改IIS設(shè)置來(lái)實(shí)現(xiàn)。只需2個(gè)步驟。
1. 配置IIS,將.mdb文件類(lèi)型映射到ASP.NET ISAPI。
以windows 2003為例,點(diǎn)擊“開(kāi)始”-》運(yùn)行-》輸入“inetmgr” 回車(chē),打開(kāi)“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文件類(lèi)型映射到HttpForbiddenHandler HTTP handler。
使asp.net應(yīng)用程序.mdb文件類(lèi)型映射到HttpForbiddenHandler HTTP 句柄。為了達(dá)到這上步,必須將下面的配置加到Web.config文件中
<httpHandlers>
<add verb="*" path="*.mdb" type="System.Web.HttpForbiddenHandler" />
</httpHandlers>
5、添加ACCESS防下載字段
該方法的原理是:將數(shù)據(jù)庫(kù)的擴(kuò)展名變成.aspx格式,從遠(yuǎn)程訪問(wèn)這個(gè)文件的時(shí)候,IIS服務(wù)器就會(huì)把它當(dāng)成aspx程序來(lái)執(zhí)行,而我們之前在ACCESS數(shù)據(jù)庫(kù)中插入了“<%”符號(hào),而asp.net程序必須在“<%%>”標(biāo)記中才能執(zhí)行,所以就會(huì)出現(xiàn) “缺少腳本關(guān)閉標(biāo)記” 的500錯(cuò)誤,別人就無(wú)法下載ACCESS數(shù)據(jù)庫(kù)了。如果只是簡(jiǎn)單的在數(shù)據(jù)庫(kù)的文本或者備注字段加入“<%”是沒(méi)用的,因?yàn)锳CCESS會(huì)對(duì)其中的內(nèi)容進(jìn)行處理,在數(shù)據(jù)庫(kù)里他會(huì)以 <% 的形式存在,無(wú)效!正確的方法是將 <% 存入OLE對(duì)象字段里。方法如下:
1、先創(chuàng)建一個(gè)表,在SQL命令窗口內(nèi)輸入如下內(nèi)容:“create table [notdown]([notdown] oleobject)”
然后點(diǎn)擊工具欄中的“!”(運(yùn)行),這樣,就會(huì)在當(dāng)前數(shù)據(jù)庫(kù)內(nèi)創(chuàng)建一個(gè)“notdown”表,其中的字段名稱(chēng)為“notdown”,字段類(lèi)型為“OLE對(duì)象”。 如圖1
(圖1)
2、將SQL查詢(xún)窗口中的內(nèi)容更改為如下命令:“insert into [notdown](notdown) values (0x3C25)”
這一句的意思是向“notdown”表的“notdown”字段中插入“0x3C25”數(shù)據(jù)(“0x3C25”為字符“<%”的16進(jìn)制)。如圖2
(圖2)
執(zhí)行完畢后,再次查看數(shù)據(jù)庫(kù)中的“表”,就會(huì)發(fā)現(xiàn)其中已多了一個(gè)“notdown”表,打開(kāi)后字段顯示的是“長(zhǎng)二進(jìn)制數(shù)據(jù)” 如圖3
(圖3)
提示1:無(wú)論是ASP網(wǎng)站中還是ASP.NET網(wǎng)站,對(duì)于直接把Access數(shù)據(jù)庫(kù)后綴直接改為.asp和.aspx,用FlashGet等下載工具都照下不誤,不能起到防下載作用。
提示2:第5種方法通常用在ASP+ACCESS網(wǎng)站中。
相關(guān)文章
WebStorm如何調(diào)試Vue項(xiàng)目? webstorm配置vue開(kāi)發(fā)環(huán)境指南
WebStorm 支持多種調(diào)試工具,包括瀏覽器的開(kāi)發(fā)者工具,但本文主要講解的是使用 WebStorm 自帶的調(diào)試功能2025-04-15VSCode和webstorm怎么設(shè)置綠色護(hù)眼背景? 綠豆沙背景色的設(shè)置方法
護(hù)眼色一定程度能保護(hù)眼睛,緩解疲勞,VSCode和webstorm這兩款常用的軟件怎么設(shè)置護(hù)眼色呢?詳細(xì)請(qǐng)看下文介紹2025-04-15WebStorm常用插件以及實(shí)用設(shè)置分享
WebStorm本身已經(jīng)足夠強(qiáng)大,但一些優(yōu)秀的插件能錦上添花,顯著提升開(kāi)發(fā)效率,詳細(xì)請(qǐng)看下文介紹2025-04-15如何安裝配置WebStorm? WebStorm安裝與使用全方位指南
WebStorm軟件在前端和后端開(kāi)發(fā)領(lǐng)域都備受青睞,很多朋友不知道該怎么下載安裝,下面我們就來(lái)看看詳細(xì)的安裝配置教程2025-04-15Webstorm怎么配置? Webstorm入門(mén)之軟件配置教程
WebStorm是一款功能強(qiáng)大的集成開(kāi)發(fā)環(huán)境(IDE),支持各種前端開(kāi)發(fā)技術(shù),今天我們就來(lái)看看Webstorm的配置教程2025-04-15Webstorm怎么設(shè)置字體大小/背景顏色/背景圖片?
WebStorm 允許您自定義界面顏色,以創(chuàng)建更個(gè)性化和美觀的工作空間,今天我們就來(lái)看看Webstorm改變字體大小、背景顏色、設(shè)置背景圖片的方法2025-04-15VScode上ESP32開(kāi)發(fā)插件安裝失敗怎么辦?
VScode上安裝PlatformIO插件能成功安裝,嘗試卸載VScode并刪除插件,這些錯(cuò)誤仍然存在,下面我們就來(lái)看看這個(gè)問(wèn)題的解決辦法2025-04-03提升代碼搜索效率! VSCode里DeepSeek插件安裝與配置指南
今天我們將向大家介紹如何在Visual Studio Code中安裝并配置 DeepSeek 插件,幫助你更高效地進(jìn)行代碼搜索2025-04-07提升你的編程效率! VSCode的初級(jí)使用教程超詳細(xì)版
VSCode是一款免費(fèi)且開(kāi)源的代碼編輯器,因其強(qiáng)大的功能和良好的用戶(hù)體驗(yàn)而廣受歡迎,本文將詳細(xì)介紹 VSCode 的基本使用方法,并通過(guò)插圖幫助你更好地理解2025-04-03- 今天我們來(lái)聊聊如何安裝和配置VS Code,讓它成為你編程路上的得力助手,這個(gè)過(guò)程其實(shí)很簡(jiǎn)單,只要跟著我的步驟走,你絕對(duì)能搞定2025-04-03