亚洲韩日午夜视频,欧美日韩在线精品一区二区三区,韩国超清无码一区二区三区,亚洲国产成人影院播放,久草新在线,在线看片AV色

您好,歡迎來(lái)到思海網(wǎng)絡(luò),我們將竭誠(chéng)為您提供優(yōu)質(zhì)的服務(wù)! 誠(chéng)征網(wǎng)絡(luò)推廣 | 網(wǎng)站備案 | 幫助中心 | 軟件下載 | 購(gòu)買(mǎi)流程 | 付款方式 | 聯(lián)系我們 [ 會(huì)員登錄/注冊(cè) ]
促銷(xiāo)推廣
客服中心
業(yè)務(wù)咨詢
有事點(diǎn)擊這里…  531199185
有事點(diǎn)擊這里…  61352289
點(diǎn)擊這里給我發(fā)消息  81721488
有事點(diǎn)擊這里…  376585780
有事點(diǎn)擊這里…  872642803
有事點(diǎn)擊這里…  459248018
有事點(diǎn)擊這里…  61352288
有事點(diǎn)擊這里…  380791050
技術(shù)支持
有事點(diǎn)擊這里…  714236853
有事點(diǎn)擊這里…  719304487
有事點(diǎn)擊這里…  1208894568
有事點(diǎn)擊這里…  61352289
在線客服
有事點(diǎn)擊這里…  531199185
有事點(diǎn)擊這里…  61352288
有事點(diǎn)擊這里…  983054746
有事點(diǎn)擊這里…  893984210
當(dāng)前位置:首頁(yè) >> 技術(shù)文章 >> 文章瀏覽
技術(shù)文章

防止ACCESS數(shù)據(jù)庫(kù)被下載的方法

添加時(shí)間:2014-10-28 17:34:28  添加: 思海網(wǎng)絡(luò) 

    引子:昨天和animator試驗(yàn)了一下,把 data.mdb文件改名為data.asp文件后放在wwwroot目錄里。然后 在IE中輸入data.asp路徑后,發(fā)現(xiàn)IE顯示一片空白,右鍵- >察看源文件,跳出記事本,將內(nèi)容另存為。mdb文件 ,用ACCESS打開(kāi),發(fā)現(xiàn)需要密碼,也就是說(shuō)至少文件頭被破壞。

    然后用 Flashget試驗(yàn)下載data.asp文件,并另存為data.mdb文件,發(fā)現(xiàn)用ACCESS打開(kāi)完好無(wú)損!!!看 來(lái),好一些編程人員在開(kāi)發(fā)的時(shí)候都認(rèn)為,改了mdb后綴為asp就能防下載的概念,是錯(cuò)的!后臺(tái)數(shù)據(jù)庫(kù)被下載對(duì)于一個(gè)asp+a ccess的網(wǎng)站來(lái)說(shuō)無(wú)疑是一場(chǎng)慘絕人寰的災(zāi)難。今天找了各方的文章,歸納一下有以下9種辦法防止數(shù)據(jù)庫(kù)被下載(歡迎補(bǔ)充):& nbsp;

    1.發(fā)揮你的想象力 修改數(shù)據(jù)庫(kù)文件名不用說(shuō),這是最最偷懶的方法,但是若攻擊者通過(guò)第三方途徑獲得了數(shù)據(jù)庫(kù)的路徑),就玩完了。比如說(shuō)攻擊者本來(lái)只能拿到list權(quán) ,結(jié)果意外看到了數(shù)據(jù)庫(kù)路徑,就可以冠冕堂皇地把數(shù)據(jù)庫(kù)下載回去研究了。另外,數(shù)據(jù)文件通常大小都比較大,起再隱蔽的文件名都瞞 不了人。故保密性為最低。

    2.數(shù)據(jù)庫(kù)名后綴改為ASA、ASP等

    此法須配合一些要進(jìn)行一些設(shè)置,否則就會(huì)出現(xiàn)本文開(kāi)頭的那種情況

    (1)二進(jìn)制字段添加(此招我還沒(méi)有煉成-_-+)。

    (2) 在這個(gè)文件中加入<%或%>,IIS就會(huì)按ASP語(yǔ)法來(lái)解析,然后就會(huì)報(bào)告500錯(cuò)誤,自然不能下載了。可是 如果只是簡(jiǎn)單的在數(shù)據(jù)庫(kù)的文本或者備注字段加入<%是沒(méi)用的,因?yàn)锳CCESS會(huì)對(duì)其中的內(nèi)容進(jìn)行處理,在數(shù)據(jù)庫(kù)里他會(huì)以 < %的形式存在,無(wú)效!正確的方法是將 <%存入OLE對(duì)象字段里,這樣我們的目的就能達(dá)到了。&nbs p;作方法:首先,用notepad新建一個(gè)內(nèi)容為 <% 的 文本文件,隨便起個(gè)名字存檔。

    接著,用Access打開(kāi)您的數(shù)據(jù)庫(kù)文件,新建一個(gè)表,隨便起個(gè)名字,在表中添加一個(gè)OLE對(duì)象的字段,然后添加一個(gè)記錄, 插入之前建立的文本文件,如果操作正確的話,應(yīng)該可以看到一個(gè)新的名為"數(shù)據(jù)包"的記錄。即可

    3.數(shù)據(jù)庫(kù)名前加"#"只需要把數(shù)據(jù)庫(kù)文件前名加上#、然后修改數(shù)據(jù)庫(kù)連接文件(如conn.asp)中的數(shù)據(jù)庫(kù)地址。原理是下載的時(shí)候只能識(shí)別& nbsp;#號(hào)前名的部分,對(duì)于后面的自動(dòng)去掉,比如你要下載:http://www.pcdigest.com/date/# 123.mdb(假設(shè)存在的話)。無(wú)論是 IE還是FLASHGET等下到的都是http://www.test.com/dat e/index.htm(index.asp、 default.jsp等你在IIS設(shè)置的首頁(yè)文檔)

    另外在數(shù)據(jù)庫(kù)文件名中保留一些空格也起到類(lèi)似作用,由于HTTP協(xié)議對(duì)地址解析的特殊性,空格會(huì)被編碼為"%",如http ://www.test.com/date/123 ;456.mdb,下載的時(shí)http: //www. test.com/date/123 %456.mdb.而我們的目錄就根本沒(méi)有123%456.mdb這個(gè)文件,所 以下載也是無(wú)效的這樣的修改后,即使你暴露了數(shù)據(jù)庫(kù)地址,一般情況下別人也是無(wú)法下載!

    4.加密數(shù)據(jù)庫(kù)首先在選取"工具-> 安全->加密/解密數(shù)據(jù)庫(kù),選取數(shù)據(jù)庫(kù)(如:employer.mdb),然后接確定,接 著會(huì)出現(xiàn)"數(shù)據(jù)庫(kù)加密后另存為"的窗口,存為: employer1.mdb.接著employer.mdb就會(huì)被編碼,然后存為 employer1.mdb……要注意的是,以上的動(dòng)作并不是對(duì)數(shù)據(jù)庫(kù)設(shè)置密碼,而只是對(duì)數(shù)據(jù)庫(kù)文件加以編碼,目的是為了防止他 人使用別的工具來(lái)查看數(shù)據(jù)庫(kù)文件的內(nèi)容。

    接下來(lái)我們?yōu)閿?shù)據(jù)庫(kù)加密,首先以打開(kāi)經(jīng)過(guò)編碼了的 e mployer1.mdb,在打開(kāi)時(shí),選擇"獨(dú)占"方式。然后選取功能表的"工具->安全->設(shè)置數(shù)據(jù)庫(kù)密碼",&  nbsp;接著輸入密碼即可。這樣即使他人得到了employer1.mdb文件,沒(méi)有密碼他是無(wú)法看到 emplo yer1.mdb的。

    加密后要修改數(shù)據(jù)庫(kù)連接頁(yè), 如:conn.open "driver={microsoft access driver&nb sp;(*.mdb)};uid=admin;pwd=數(shù)據(jù)庫(kù)密碼;dbq=數(shù)據(jù)庫(kù)路徑"這樣修改后,數(shù)據(jù)庫(kù)即使被人下載了,別人也無(wú)法打開(kāi)(前提是你的數(shù)據(jù)庫(kù)連接頁(yè)中的密碼沒(méi)有被泄露)

    但值得注意的是,由于Access數(shù)據(jù)庫(kù)的加密機(jī)制比較簡(jiǎn)單,即使設(shè)置了密碼,解密也很容易。該數(shù)據(jù)庫(kù)系統(tǒng)通過(guò)將用戶輸入的 密碼與某一固定密鑰進(jìn)行" 異或"來(lái)形成一個(gè)加密串,并將其存儲(chǔ)在*.mdb文件從地址"&H42"開(kāi)始的區(qū)域內(nèi)。所以一 個(gè)好的程序員可以輕松制作一個(gè)幾十行的小程序就可以輕松地獲得任何Access數(shù)據(jù)庫(kù)的密碼。因此,只要數(shù)據(jù)庫(kù)被下載,其信息安 全依然是個(gè)未知數(shù)。

5.數(shù)據(jù)庫(kù)放在WEB目錄外或?qū)?shù)據(jù)庫(kù)連接文件放到其他虛擬目錄下如你的WEB目錄是e:\webroot,可以把數(shù)據(jù)庫(kù)放到e:\data這個(gè)文件夾里,在e:\webroot里的數(shù)據(jù)庫(kù) 連接頁(yè)中修改數(shù)據(jù)庫(kù)連接地址為:"……/data/數(shù)據(jù)庫(kù)名" 的形式,這樣數(shù)據(jù)庫(kù)可以正常調(diào)用,但是無(wú)法下載的,因 為它不在WEB目錄里!這個(gè)方法一般也不適合購(gòu)買(mǎi)虛擬空間的用戶。

    6.使用ODBC數(shù)據(jù)源。

    在ASP等程序設(shè)計(jì)中,如果有條件,應(yīng)盡量使用ODBC數(shù)據(jù)源,不要把數(shù)據(jù)庫(kù)名寫(xiě)在程序中,否則,數(shù)據(jù)庫(kù)名將隨ASP源代碼 的失密而一同失密,例如: DBPath = Server.MapPath("……/123/ abc/asfadf.mdb ")

    conn.open "driver={Microsoft Access Driver&nb sp;(*.mdb)};dbq="& DBPath可見(jiàn),即使數(shù)據(jù)庫(kù)名字起得再怪異,隱藏的目錄再深,ASP源代碼失密后,也很容易被下載下來(lái)。如果使用ODBC數(shù)據(jù)源,就不 會(huì)存在這樣的問(wèn)題了:  conn.open "ODBC-DSN名" ,不過(guò)這樣是比較煩的,目 錄移動(dòng)的話又要重新設(shè)置數(shù)據(jù)源了,更方便的方法請(qǐng)看第7,8法!

    7.添加數(shù)據(jù)庫(kù)名的如MDB的擴(kuò)展映射這個(gè)方法就是通過(guò)修改IIS設(shè)置來(lái)實(shí)現(xiàn),適合有IIS控制權(quán)的朋友,不適合購(gòu)買(mǎi)虛擬主機(jī)用戶(除非管理員已經(jīng)設(shè)置了)。這個(gè) 方法我認(rèn)為是目前最好的。只要修改一處,整個(gè)站點(diǎn)的數(shù)據(jù)庫(kù)都可以防止被下載。無(wú)須修改代碼即使暴露目標(biāo)地址也可以防止下載。&n bsp;我們?cè)贗IS屬性 ——主目錄——配置——映射——應(yīng)用程序擴(kuò)展那里添加。mdb文件的應(yīng)用解析。注意這里的選擇的D LL(或EXE等)似乎也不是任意的,選擇不當(dāng),這個(gè)MDB文件還是可以被下載的, 注意最好不要選擇選 擇asp.dll等。你可以自己多測(cè)試下這樣修改后下載數(shù)據(jù)庫(kù)如:http://www.test.com/data/dvbbs6.mdb.就出現(xiàn)(404或50 0等錯(cuò)誤)

    8:使用。net的優(yōu)越性動(dòng)網(wǎng)的木鳥(niǎo)就寫(xiě)過(guò)一個(gè)防非法下載文件的"WBAL 防盜鏈工具".具體可以登陸http://www.9seek .com/WBAL/ ;不過(guò) 那個(gè)只實(shí)現(xiàn)了防止非本地下載的 ,沒(méi)有起到真正的防下載數(shù)據(jù)庫(kù)的功能。不過(guò)這個(gè)方法已經(jīng)跟5法差 不多可以通過(guò)修改。NET文件,實(shí)現(xiàn)本地也不能下載!

    這幾個(gè)方法中,只有第7和8個(gè)是統(tǒng)一性改的,一次修改配置后,整個(gè)站點(diǎn)的數(shù)據(jù)庫(kù)都可以防止下載,其他幾個(gè)就要分別修改數(shù)據(jù)庫(kù) 名和連接文件,比較麻煩,不過(guò)對(duì)于虛擬主機(jī)的朋友也只能這樣了!

    其實(shí)第6個(gè)方法應(yīng)該是第5個(gè)方法的擴(kuò)展,可以實(shí)現(xiàn)特殊的功能,但對(duì)于不支持。net的主機(jī)或者怕設(shè)置麻煩的話,還是直接用第 5個(gè)方法了,而且默認(rèn)情況下第6個(gè)方法,依然可以通過(guò)復(fù)制連接到同主機(jī)的論壇或留言本發(fā)表,然后就可以點(diǎn)擊下載了(因?yàn)檫@樣的引 用頁(yè)是來(lái)自同主機(jī)的)

9.利用NTFS分區(qū)的文件權(quán)限設(shè)置(by percyboy)

    我們已經(jīng)知道,ASP.NET 中使用 ADO.NET 訪問(wèn)數(shù)據(jù)庫(kù),通過(guò) OleDb 的連接可以訪問(wèn) Access 數(shù)據(jù)庫(kù)— —我們非常常用的低端數(shù)據(jù)庫(kù)之一。本文討論了 ASP.NET 中可能看到的若干錯(cuò)誤提示,從中看到&nb sp;Access 2000 和 Access XP 創(chuàng)建的數(shù)據(jù)庫(kù)文件 ,在訪問(wèn)出現(xiàn)錯(cuò)誤時(shí)會(huì)出現(xiàn)不太相同的錯(cuò)誤提示。希望對(duì)大家有所幫助。另一個(gè)要點(diǎn)是,希望通過(guò)此文,使大家對(duì) ASP. NET 中  Access 數(shù)據(jù)庫(kù)文件的 NTFS 權(quán)限設(shè)置有所新的認(rèn)識(shí) .

    (一)實(shí)驗(yàn)過(guò)程

    為了敘述方便,舉個(gè)具體例子做個(gè)實(shí)驗(yàn):應(yīng)用程序?yàn)?/test ,數(shù)據(jù)庫(kù)存放在 D:\wwwr oot\test\data\db1.mdb,我們已經(jīng)知道在  ASP.NET 中是以一個(gè)叫做 ;ASPNET 虛擬用戶的身份訪問(wèn)數(shù)據(jù)庫(kù)的,我們需要給這個(gè)賬戶以特定的 NTFS 權(quán)限才能 使  ASP.NET 程序正常運(yùn)行。

    為了得到最嚴(yán)格的 NTFS 權(quán)限設(shè)置,實(shí)驗(yàn)開(kāi)始時(shí)我們給程序最低的 NTFS 權(quán)限 :

    a) D:\wwwroot\test\data\ 文件夾的給用戶ASPNET 以如下權(quán)限:允許 拒絕完全控制 &n bsp; □ & nbsp;□修改 &nbs p; &nbs p;□ □讀取及運(yùn)行 & nbsp; √ □ ;列出文件夾目錄 ; √ □讀取 &nbs p; &nbs p;√ □寫(xiě)入 &nbs p; &nbs p;□ □

    b) D:\wwwroot\test\data\db1.mdb 文件本身給用戶ASPNET以如下權(quán)限:√ 允許將來(lái)自父系的可繼承權(quán)限傳播給該 對(duì)象

    1.1 對(duì)于某個(gè)只包含有"SELECT"命令的aspx程序,上述權(quán)限設(shè)置運(yùn)行時(shí)無(wú)障礙,即:上述權(quán)限 已經(jīng)滿足這類(lèi)程序的運(yùn)行了。

    1.2 對(duì)于包含有"UPDATE""INSERT""UPDATE"等命令的aspx程序, ;

    (a) 如果 db1.mdb 是 Access 2000 創(chuàng) 建的數(shù)據(jù)庫(kù),出現(xiàn)如下錯(cuò)誤:

    "/test"應(yīng)用程序中的服務(wù)器錯(cuò)誤。

---------------------------------------

    Microsoft Jet 數(shù)據(jù)庫(kù)引擎打不開(kāi)文件D:\wwwroot\test\data\.&n bsp;它已經(jīng)被別的用戶以獨(dú)占方式打開(kāi),或沒(méi)有查看數(shù)據(jù)的權(quán)限。

    說(shuō)明: 執(zhí)行當(dāng)前 Web 請(qǐng)求期間,出現(xiàn)未處理的異常。請(qǐng)檢查堆棧跟蹤信息,以了解有關(guān)該錯(cuò)誤 以及代碼中導(dǎo)致錯(cuò)誤的出處的詳細(xì)信息。

    異常詳細(xì)信息: System.Data.OleDb.OleDbException: Microsof t Jet 數(shù)據(jù)庫(kù)引擎打不開(kāi)文件D:\wwwroot\test\data\. 它已經(jīng)被 別的用戶以獨(dú)占方式打開(kāi),或沒(méi)有查看數(shù)據(jù)的權(quán)限。

    (b) 如果 db1.mdb 是 Access XP 創(chuàng)建的 數(shù)據(jù)庫(kù),出現(xiàn)如下錯(cuò)誤:

    "/test"應(yīng)用程序中的服務(wù)器錯(cuò)誤。

----------------------------------------------

    操作必須使用一個(gè)可更新的查詢。

    說(shuō)明: 執(zhí)行當(dāng)前 Web 請(qǐng)求期間,出現(xiàn)未處理的異常。請(qǐng)檢查堆棧跟蹤信息,以了解有關(guān)該錯(cuò)誤 以及代碼中導(dǎo)致錯(cuò)誤的出處的詳細(xì)信息。

    異常詳細(xì)信息: System.Data.OleDb.OleDbException: 操作必須使用一個(gè) 可更新的查詢。

    (c) 原因初步分析:因?yàn)榘?UPDATE""INSERT""UPDATE"等命令,需要對(duì)數(shù)據(jù)庫(kù)文件本身進(jìn) 行寫(xiě)入操作,所以上述權(quán)限不能滿足此需求,我們需要進(jìn)一步放開(kāi)權(quán)限。

    我們放開(kāi)一些權(quán)限,a) D:\wwwroot\test\data\ 文件夾不變: & nbsp;

    b) D:\wwwroot\test\data\db1.mdb 文件本身給用戶ASPNET以如下權(quán)限:允許 拒絕完全控制 &n bsp; □ & nbsp;□修改 &nbs p; &nbs p;□ □讀取及運(yùn)行 & nbsp; √ □ ;列出文件夾目錄 ; √ □讀取 &nbs p; &nbs p;√ □寫(xiě)入 &nbs p; &nbs p;√ □

    1.3 放開(kāi)權(quán)限后繼續(xù)實(shí)驗(yàn),

    (a) 如果 db1.mdb 是 Access 2000 創(chuàng) 建的數(shù)據(jù)庫(kù),出現(xiàn)如下錯(cuò)誤:

    "/test"應(yīng)用程序中的服務(wù)器錯(cuò)誤。

------------------------------------------

    不能鎖定文件。

    說(shuō)明: 執(zhí)行當(dāng)前 Web 請(qǐng)求期間,出現(xiàn)未處理的異常。請(qǐng)檢查堆棧跟蹤信息,以了解有關(guān)該錯(cuò)誤 以及代碼中導(dǎo)致錯(cuò)誤的出處的詳細(xì)信息。

    異常詳細(xì)信息: System.Data.OleDb.OleDbException: 不能鎖定文件。& nbsp;

    (b) 如果 db1.mdb 是 Access XP 創(chuàng)建的 數(shù)據(jù)庫(kù),沒(méi)有出現(xiàn)錯(cuò)誤。

    (c)  原因初步分析:我們發(fā)現(xiàn)在打開(kāi) Access 數(shù)據(jù)庫(kù)時(shí),同時(shí)會(huì)在所在目錄生成一個(gè)同名 的 *.ldb 文件,這是一個(gè) Access 的鎖定標(biāo)記。鑒于此,我們猜測(cè),用戶 ASPNET 訪問(wèn) Access 數(shù)據(jù)庫(kù)時(shí),也需要生成一個(gè)鎖定標(biāo)記,而該目錄沒(méi) 有允許其寫(xiě)入,因此出錯(cuò)。至于  Access XP 創(chuàng)建的數(shù)據(jù)庫(kù)為什么沒(méi)有這個(gè)錯(cuò)誤,原因還不 得而知。

    我們進(jìn)一步放開(kāi)權(quán)限,a) D:\wwwroot\test\data\ 文件夾給用戶ASPNET以 如下權(quán)限:允許 拒絕完全控制 &n bsp; □ & nbsp;□修改 &nbs p; &nbs p;□ □讀取及運(yùn)行 & nbsp; √ □ ;列出文件夾目錄 ; √ □讀取 &nbs p; &nbs p;√ □寫(xiě)入 &nbs p; &nbs p;√ □

    b) D:\wwwroot\test\data\db1.mdb 文件本身給用戶ASPNET以如下權(quán)限:√ 允許將來(lái)自父系的可繼承權(quán)限傳播給該 對(duì)象

1.4 繼續(xù)實(shí)驗(yàn),發(fā)現(xiàn)錯(cuò)誤已解決,那么上面這個(gè)權(quán)限就是我們需要放開(kāi)的"最低權(quán)限".

    (a) 如果 db1.mdb 是 Access 2000 創(chuàng) 建的數(shù)據(jù)庫(kù),我們會(huì)發(fā)現(xiàn)一個(gè)小問(wèn)題:生成的 *.ldb 文件不會(huì)自己刪除,訪問(wèn)后該文件依然存在,但這個(gè) 問(wèn)題不會(huì)影響 ASP.NET 的正常運(yùn)行。

    (b) 如果 db1.mdb 是 Access XP 創(chuàng)建的 數(shù)據(jù)庫(kù),沒(méi)有出現(xiàn)上面類(lèi)似問(wèn)題。

    (c) 原因初步分析:我們僅僅是給了 ASPNET 以寫(xiě)入文件夾的權(quán)限,沒(méi)有給它修改的權(quán)限 ,所以文件一旦寫(xiě)入,便無(wú)法修改其內(nèi)容,*.ldb 也就刪除不掉了。

    如果非要解決這個(gè)問(wèn)題,進(jìn)一步放開(kāi)權(quán)限為:a) D:\wwwroot\test\data\ 文件夾給用戶ASPNET以 如下權(quán)限:允許 拒絕完全控制 &n bsp; □ & nbsp;□修改 &nbs p; &nbs p;√ □讀取及運(yùn)行 & nbsp; √ □ ;列出文件夾目錄 ; √ □讀取 &nbs p; &nbs p;√ □寫(xiě)入 &nbs p; &nbs p;√ □

    b) D:\wwwroot\test\data\db1.mdb 文件本身給用戶ASPNET以如下權(quán)限:√ 允許將來(lái)自父系的可繼承權(quán)限傳播給該 對(duì)象

    1.5 附帶著,實(shí)驗(yàn)另一種情形:我們把 db1.mdb 在 Acce ss 打開(kāi)編輯,同時(shí)訪問(wèn) ASP.NET.

    (a) 如果 db1.mdb 是 Access 2000 創(chuàng) 建的數(shù)據(jù)庫(kù),我們發(fā)現(xiàn)并沒(méi)有出現(xiàn)什么問(wèn)題。

    (b) 如果 db1.mdb 是 Access XP 創(chuàng)建的 數(shù)據(jù)庫(kù),出現(xiàn)如下錯(cuò)誤:

    "/zhao"應(yīng)用程序中的服務(wù)器錯(cuò)誤。

------------------------------------------------

    不能使用 ;文件已在使用中。

    說(shuō)明: 執(zhí)行當(dāng)前 Web 請(qǐng)求期間,出現(xiàn)未處理的異常。請(qǐng)檢查堆棧跟蹤信息,以了解有關(guān)該錯(cuò)誤 以及代碼中導(dǎo)致錯(cuò)誤的出處的詳細(xì)信息。

    異常詳細(xì)信息: System.Data.OleDb.OleDbException: 不能使用&nbs p;;文件已在使用中。

    (c)  原因初步分析:Access 數(shù)據(jù)庫(kù)是單用戶單線程的數(shù)據(jù)庫(kù),我們?cè)?Access&n bsp;里面打開(kāi)編輯數(shù)據(jù)庫(kù)文件時(shí)其實(shí)是以當(dāng)前  Windows 用戶(比如Administrator) 身份打開(kāi)數(shù)據(jù)庫(kù),而 ASP.NET 默認(rèn)使用的是 ASPNET 虛擬用戶(隸屬于  Users 組),級(jí)別低于 Administrator,無(wú)法和 Adminis trator "搶奪"權(quán)限,所以出現(xiàn)沖突錯(cuò)誤。至于  Access 2000 忽略 這個(gè)問(wèn)題的情形我們也不必做討論了,可能是 Access 2000 沒(méi)有考慮那么多因素吧。& nbsp;

    1.6 再附帶一種情形:將 db1.mdb 的屬性改為"只讀",無(wú)論是&nbs p;Access 2000 還是 Access XP 都將分別出現(xiàn)與& nbsp;1.2 中各自的錯(cuò)誤相同的錯(cuò)誤提示。

(二)實(shí)驗(yàn)結(jié)論

    (1) 我們首先再次總結(jié)一下 Access 數(shù)據(jù)庫(kù)文件的 NTFS 權(quán) 限設(shè)置的緣起:

    在 ASP.NET 中默認(rèn)是以一個(gè)叫做 ASPNET& nbsp;的虛擬用戶的身份來(lái)訪問(wèn)、操作數(shù)據(jù)庫(kù)的,你可以在"控制面板"-"管理工具"-"計(jì)算機(jī)管理"-"本地用戶和組"-" 用戶"中看到這個(gè)用戶,默認(rèn)情況下是:

    全名:ASP.NET 計(jì)算機(jī)帳戶&nb sp;描述為:用于運(yùn)行 ASP.NET&nb sp;輔助進(jìn)程(aspnet_wp.exe)的帳戶。

    隸屬于:Users組。

    使用這么一個(gè)隸屬于 Users 組的用戶來(lái)進(jìn)行文件操作、數(shù)據(jù)庫(kù)操 作的風(fēng)險(xiǎn)是要比用一個(gè) Administrators 組的用戶的風(fēng)險(xiǎn)要小得多,這也是 ASP .NET 在安全方面的一個(gè)考慮吧。

    既然是這么一個(gè)用戶需要訪問(wèn)、操作數(shù)據(jù)庫(kù)文件本身,那么我們就需要給它一定的 NTFS 權(quán)限以允許它的訪問(wèn)。顯然沒(méi)有 NTFS 的權(quán)限許可,ASPNET 就無(wú) 法訪問(wèn)、操作數(shù)據(jù)庫(kù),就會(huì)出現(xiàn)上面實(shí)驗(yàn)中所看到的那些錯(cuò)誤了。

    (2) 經(jīng)過(guò)上面的實(shí)驗(yàn),我們已經(jīng)知道如下的 NTFS 權(quán)限設(shè)置是可以滿足一般需求的:&nb sp;

    a) D:\wwwroot\test\data\ 文件夾給用戶ASPNET以 如下權(quán)限:允許 拒絕完全控制 &n bsp; □ & nbsp;□修改 &nbs p; &nbs p;□ □讀取及運(yùn)行 & nbsp; √ □ ;列出文件夾目錄 ; √ □讀取 &nbs p; &nbs p;√ □寫(xiě)入 &nbs p; &nbs p;√ □

    b) D:\wwwroot\test\data\db1.mdb 文件本身給用戶ASPNET以如下權(quán)限:√ 允許將來(lái)自父系的可繼承權(quán)限傳播給該 對(duì)象

    同時(shí)我們也注意到 db1.mdb 是否為"只讀"文件對(duì) ASPNET 的訪問(wèn)也會(huì) 有一定影響。

    (3) 上述權(quán)限設(shè)置可以直接設(shè)置給 ASPNET 用戶自己,也可以設(shè)置給 Use rs 組,或者直接給 Everyone 組上述權(quán)限都是可以的。因?yàn)?ASPNET 隸屬于 Users 組,可以通過(guò) 用戶組 給 ASPNET 設(shè)置權(quán)限。

(4)  NTFS 權(quán)限在文件或文件夾右擊后得到的"屬性"對(duì)話框-"安全"選項(xiàng)卡中設(shè)置,一般情況下,可 以考慮給 Adminitrators 組以"完全控制"的權(quán)限,同時(shí)不要輕易在"拒絕"中打勾,有關(guān)&n bsp;NTFS 權(quán)限設(shè)置的技巧,可以咨詢網(wǎng)絡(luò)管理員、網(wǎng)絡(luò)安全專(zhuān)家的建議。

    注:FAT, FAT32 格式的分區(qū)中不支持 NTFS 權(quán)限。 &nb sp;

    (5)  Windows 2000 系列,Windows Server 2003 系列的"安全"選項(xiàng)卡默認(rèn)是很容易找到的,但  Windows XP Pr ofessional 中的"安全"選項(xiàng)卡默認(rèn)是關(guān)閉的,可以將"控制面板"-"文件夾選項(xiàng)"-"查看"選項(xiàng)卡中的" 高級(jí)設(shè)置"中"使用簡(jiǎn)單共享(推薦)"一項(xiàng)的"√"去除,"確定"之后,再次按照上面的方法即可看到"安全"選項(xiàng)卡了。&nbs p;

    ===========綜上所述,2、3、4法一起使用,是防止數(shù)據(jù)庫(kù)被下載最基本,最行之有效的方 法,既適用于對(duì)服務(wù)器有管轄權(quán)的網(wǎng)管,又適用于虛擬主機(jī)的用戶,推薦每一個(gè)制作者同時(shí)必用這三種方法

    若你對(duì)服務(wù)器擁有管轄權(quán),推薦再加上方法9,你的ACCESS數(shù)據(jù)庫(kù)的安全性就可以大大提高了。

關(guān)鍵字:ACCESS、數(shù)據(jù)庫(kù)、服務(wù)器

分享到:

頂部 】 【 關(guān)閉
版權(quán)所有:佛山思海電腦網(wǎng)絡(luò)有限公司 ©1998-2024 All Rights Reserved.
聯(lián)系電話:(0757)22630313、22633833
中華人民共和國(guó)增值電信業(yè)務(wù)經(jīng)營(yíng)許可證: 粵B1.B2-20030321 備案號(hào):粵B2-20030321-1
網(wǎng)站公安備案編號(hào):44060602000007 交互式欄目專(zhuān)項(xiàng)備案編號(hào):200303DD003  
察察 工商 網(wǎng)安 舉報(bào)有獎(jiǎng)  警警  手機(jī)打開(kāi)網(wǎng)站