收藏本站 收藏本站
积木网首页 - 软件测试 - 常用手册 - 站长工具 - 技术社区
积木学院 > 黑客技术 > 病毒漏洞 > 正文

ACCESS mdb 数据库有可能被下载的漏洞

来源:互联摘选 日期:2006-02-06 20:11
问题描述

  在用ACCESS做后台数据库时,如果有人通过各种方法知道或者猜到了服务器的ACCESS数据库的路径和数据库名称,那么他能够下载这个ACCESS数据库文件,这是非常危险的。比如:如果你的ACCESS数据库book.mdb放在虚拟目录下的database目录下,那么有人在浏览器中打入: http:// someurl/database/book.mdb<BR>  如果你的book.mdb数据库没有事先加密的话,那book.mdb中所有重要的数据都掌握在别人的手中。

  解决方法

  (1) 为你的数据库文件名称起个复杂的非常规的名字,并把他放在几目录下。所谓"非常规",打个比方:比如有个数据库要保存的是有关书籍的信息,可不要把他起个"book.mdb"的名字,起个怪怪的名称,比如d34ksfslf.mdb,再把他放在如./kdslf/i44/studi/ 的几层目录下,这样黑客要想通过猜的方式得到你的ACCESS数据库文件就难上加难了。

  (2)不要把数据库名写在程序中。有些人喜欢把DSN写在程序中,比如: DBPath = Server.MapPath("cmddb.mdb") <BR>conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & DBPath <BR>  假如万一给人拿到了源程序,你的ACCESS数据库的名字就一览无余。因此建议你在ODBC里设置数据源,再在程序中这样写: conn.open "shujiyuan" <BR>  (3)给你的数据库起个非mdb格式的后缀名,随便什么,现在大都采用.asp,如: param="driver={Microsoft Access Driver (*.mdb)};Pwd=yfdsfs" <BR>param=param&";dbq="&server.mappath("employer1.asp") <BR>conn.open param<BR>  这样即使你知道了数据库所在路径,想把这个.asp格式的库文件down下来也很难了。

  (4)使用ACCESS来为数据库文件编码及加密。首先在选取"工具->安全->加密/解密数据库,选取数据库(如:employer.mdb),然后接确定,接着会出现"数据库加密后另存为"的窗口,存为:employer1.mdb。接着employer.mdb就会被编码,然后存为employer1.mdb..

  要注意的是,以上的动作并不是对数据库设置密码,而只是对数据库文件加以编码,目的是为了防止他人使用别的工具来查看数据库文件的内容。

  接下来我们为数据库加密,首先以打开经过编码了的employer1.mdb,在打开时,选择"独占"方式。然后选取功能表的"工具->安全->设置数据库密码",接着输入密码即可。

  为employer1.mdb设置密码之后,接下来如果再使用ACCEES数据库文件时,则ACCESS会先要求输入密码,验证正确后才能够启动数据库。

  不过要在ASP程序中的connection对象的open方法中增加PWD的参数即可,例如: param="driver={Microsoft Access Driver (*.mdb)};Pwd=yfdsfs" <BR>param=param&";dbq="&server.mappath("employer1.mdb") <BR>conn.open param<BR>  这样即使他人得到了employer1.mdb文件,没有密码他是无法看到employer1.mdb的。

推荐阅读

 

热点信息

 
强悍的草根IT技术社区,这里应该有您想要的!
Copyright © 2010 Gimoo.Net. All Rights Rreserved  京ICP备05050695号