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

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

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

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

6.使用ODBC数据源。 
  在ASP等程序设计中,如果有条件,应尽量使用ODBC数据源,不要把数据库名写在程序中,否则,数据库名将随ASP源代码 的 * 而一同 * ,例如: DBPath = Server.MapPath("../123/ abc/asfadf.mdb ")  
conn.open "driver={Microsoft Access Driver&nb sp;(*.mdb)};dbq="& DBPath  
  可见,即使数据库名字起得再怪异,隐藏的目录再深,ASP源代码 * 后,也很容易被下载下来。如果使用ODBC数据源,就不 会存在这样的问题了: conn.open "ODBC-DSN名" ,不过这样是比较烦的,目 录移动的话又要重新设置数据源了,更方便的方法请看第7,8法! 


7.添加数据库名的如MDB的扩展映射 
  这个方法就是通过修改IIS设置来实现,适合有IIS控制权的朋友,不适合购买虚拟主机用户(除非管理员已经设置了)。这个 方法我认为是目前最好的。只要修改一处,整个站点的数据库都可以防止被下载。无须修改代码即使暴露目标地址也可以防止下载。&n bsp;
  我们在IIS属性---主目录---配置---映射---应用程序扩展那里添加.mdb文件的应用解析。注意这里的选择的D LL(或EXE等)似乎也不是任意的,选择不当,这个MDB文件还是可以被下载的,  注意最好不要选择选 择asp.dll等。你可以自己多测试下 
  这样修改后下载数据库如:http://www.test.com/data/dvbbs6.mdb。就出现(404或50 0等错误)  


8:使用.net的优越性 
  动网的木鸟就写过一个防非法下载文件的"WBAL 防盗链工具"。具体可以登陆http://www.9seek .com/WBAL/  ; 
  不过 那个只实现了防止非本地下载的 ,没有起到真正的防下载数据库的功能。不过这个方法已经跟5法差 不多可以通过修改.NET文件,实现本地也不能下载! 


  这几个方法中,只有第7和8个是统一性改的,一次修改配置后,整个站点的数据库都可以防止下载,其他几个就要分别修改数据库 名和连接文件,比较麻烦,不过对于虚拟主机的朋友也只能这样了! 


  其实第6个方法应该是第5个方法的扩展,可以实现特殊的功能,但对于不支持.net的主机或者怕设置麻烦的话,还是直接用第 5个方法了,而且默认情况下第6个方法,依然可以通过复制连接到同主机的论坛或留言本发表,然后就可以点击下载了(因为这样的引 用页是来自同主机的) 


9.利用NTFS分区的文件权限设置(by percyboy) 
    我们已经知道,ASP.NET 中使用 ADO.NET  访问数据库,通过 OleDb 的连接可以访问 Access 数据库— —我们非常常用的低端数据库之一。本文讨论了 ASP.NET 中可能看到的若干错误提示,从中看到&nb sp;Access 2000 和 Access XP 创建的数据库文件 ,在访问出现错误时会出现不太相同的错误提示。希望对大家有所帮助。另一个要点是,希望通过此文,使大家对 ASP. NET 中 Access 数据库文件的 NTFS 权限设置有所新的认识 。  


(一)实验过程  


为了叙述方便,举个具体例子做个实验:应用程序为 /test ,数据库存放在 D:\wwwr oot\test\data\db1.mdb,我们已经知道在 ASP.NET 中是以一个叫做  ;ASPNET 虚拟用户的身份访问数据库的,我们需要给这个账户以特定的 NTFS 权限才能 使 ASP.NET 程序正常运行。  


为了得到最严格的 NTFS 权限设置,实验开始时我们给程序最低的 NTFS 权限 :  


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


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

0
投稿

猜你喜欢

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