网络编程
位置:首页>> 网络编程>> Asp编程>> [整理版]防止Access数据库被下载的9种方法(3)

[整理版]防止Access数据库被下载的9种方法(3)

作者:tyhouse 来源:twocity.cn 发布时间:2007-08-10 09:31:00 

标签:Access,防止下载,数据库

1.1  对于某个只包含有"Select"命令的aspx程序,上述权限设置运行时无障碍,即:上述权限 已经满足这类程序的运行了。  


1.2  对于包含有"Update""Insert""Update"等命令的aspx程序  ; 


(a) 如果 db1.mdb 是 Access 2000 创 建的数据库,出现如下错误:  


"/test"应用程序中的服务器错误。  
---------------------------------------  
Microsoft Jet 数据库引擎打不开文件'D:\wwwroot\test\data\'。&n bsp;它已经被别的用户以独占方式打开,或没有查看数据的权限。   
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误 以及代码中导致错误的出处的详细信息。   
异常详细信息: System.Data.OleDb.OleDbException: Microsof t Jet 数据库引擎打不开文件'D:\wwwroot\test\data\'。 它已经被 别的用户以独占方式打开,或没有查看数据的权限。  


(b) 如果 db1.mdb 是 Access XP 创建的 数据库,出现如下错误:  


"/test"应用程序中的服务器错误。  
----------------------------------------------  
操作必须使用一个可更新的查询。  
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误 以及代码中导致错误的出处的详细信息。   
异常详细信息: System.Data.OleDb.OleDbException: 操作必须使用一个 可更新的查询。  


(c) 原因初步分析:因为包含有"Update""Insert""Update"等命令,需要对数据库文件本身进 行写入操作,所以上述权限不能满足此需求,我们需要进一步放开权限。  


我们放开一些权限,  
  a) D:\wwwroot\test\data\ 文件夹不变: & nbsp;


   b) D:\wwwroot\test\data\db1.mdb  文件本身给用户ASPNET以如下权限:  
                          允许  拒绝  
      完全控制           □   □  
      修改                 □   □  
      读取及运行        √   □
      列出文件夹目录  √   □  
      读取                √    □  
      写入                √    □  


1.3  放开权限后继续实验


(a) 如果 db1.mdb 是 Access 2000 创 建的数据库,出现如下错误:  


"/test"应用程序中的服务器错误。  
------------------------------------------  
不能锁定文件。  
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误 以及代码中导致错误的出处的详细信息。   
异常详细信息: System.Data.OleDb.OleDbException: 不能锁定文件。& nbsp; 


(b) 如果 db1.mdb 是 Access XP 创建的 数据库,没有出现错误。  


(c) 原因初步分析:我们发现在打开 Access 数据库时,同时会在所在目录生成一个同名 的 *.ldb 文件,这是一个 Access 的锁定标记。鉴于此,我们猜测,用户  ASPNET 访问 Access 数据库时,也需要生成一个锁定标记,而该目录没 有允许其写入,因此出错。至于 Access XP 创建的数据库为什么没有这个错误,原因还不 得而知。  


我们进一步放开权限,  
  a) D:\wwwroot\test\data\ 文件夹给用户ASPNET以 如下权限:  
                            允许  拒绝  
      完全控制             □    □  
      修改                   □    □  
      读取及运行          √    □ 
      列出文件夹目录    √    □  
      读取                   √    □  
      写入                   √    □  


   b) D:\wwwroot\test\data\db1.mdb  文件本身给用户ASPNET以如下权限:  
      √ 允许将来自父系的可继承权限传播给该 对象  

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com