程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Access數據庫 >> Access數據庫入門 >> 九法防止ACCESS數據庫被下載的

九法防止ACCESS數據庫被下載的

編輯:Access數據庫入門

(一)實驗過程

為了敘述方便,舉個具體例子做個實驗:應用程序為 /test ,數據庫存放在 D:wwwr oot estdatadb1.mdb,我們已經知道在 ASP.NET 中是以一個叫做 ;ASPNET 虛擬用戶的身份訪問數據庫的,我們需要給這個賬戶以特定的 NTFS 權限才能 使 ASP.NET 程序正常運行。

為了得到最嚴格的 NTFS 權限設置,實驗開始時我們給程序最低的 NTFS 權限 :

a) D:wwwroot estdata 文件夾的給用戶ASPNET 以如下權限:
允許 拒絕
完全控制 &n bsp; □ □
修改 □ □
讀取及運行 √ □ ;
列出文件夾目錄 ; √ □
讀取 √ □
寫入 □ □

b) D:wwwroot estdatadb1.mdb 文件本身給用戶ASPNET以如下權限:
√ 允許將來自父系的可繼承權限傳播給該 對象

1.1 對於某個只包含有"SELECT"命令的aspx程序,上述權限設置運行時無障礙,即:上述權限 已經滿足這類程序的運行了。

1.2 對於包含有"UPDATE""INSERT""UPDATE"等命令的aspx程序, ;

(a) 如果 db1.mdb 是 Access 2000 創 建的數據庫,出現如下錯誤:

"/test"應用程序中的服務器錯誤。
---------------------------------------
Microsoft Jet 數據庫引擎打不開文件'D:wwwroot estdata'。&n bsp;它已經被別的用戶以獨占方式打開,或沒有查看數據的權限。
說明: 執行當前 Web 請求期間,出現未處理的異常。請檢查堆棧跟蹤信息,以了解有關該錯誤 以及代碼中導致錯誤的出處的詳細信息。
異常詳細信息: System.Data.OleDb.OleDbException: Microsof t Jet 數據庫引擎打不開文件'D:wwwroot estdata'。 它已經被 別的用戶以獨占方式打開,或沒有查看數據的權限。

(b) 如果 db1.mdb 是 Access XP 創建的 數據庫,出現如下錯誤:

"/test"應用程序中的服務器錯誤。
----------------------------------------------
操作必須使用一個可更新的查詢。
說明: 執行當前 Web 請求期間,出現未處理的異常。請檢查堆棧跟蹤信息,以了解有關該錯誤 以及代碼中導致錯誤的出處的詳細信息。
異常詳細信息: System.Data.OleDb.OleDbException: 操作必須使用一個 可更新的查詢。

(c) 原因初步分析:因為包含有"UPDATE""INSERT""UPDATE"等命令,需要對數據庫文件本身進 行寫入操作,所以上述權限不能滿足此需求,我們需要進一步放開權限。

我們放開一些權限,
a) D:wwwroot estdata 文件夾不變:

b) D:wwwroot estdatadb1.mdb 文件本身給用戶ASPNET以如下權限:
允許 拒絕
完全控制 &n bsp; □ □
修改 □ □
讀取及運行 √ □ ;
列出文件夾目錄 ; √ □
讀取 √ □
寫入 √ □轉載保留: 。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved