设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

Access数据库安全五招

1970-1-1 08:00| 发布者: 佚名| 查看: 3916| 评论: 1

在用Access做后台数据库时,如果有人通过各种方法知道或者猜到了服务器的Access数据库的路径和数据库名称,那么他就能够下载这个Access数据库文件,这是非常危险的。举例说来,我在网站www.obssession.com中,有一个Access数据库userpass.mdb,我将其放在虚拟目录下的/gjb/mydatabase目录下,那么在浏览器中输入http://www.obssession.com/gjb/mydatabase/userpass.mdb,就可以下载数据库文件。如果您的userpass.mdb数据库没有事先加密的话,那么数据库中的数据将被别人掌握。即使您的数据库加过密,破解数据库密码也不是一件很难的事。

方法一:非常规取名
为您的数据库文件起个复杂的、非常规的名字,并把它放在几层目录之下。所谓“非常规”,打个比方,假如有个数据库要保存的是有关书籍的信息,可不要把他起个book.mdb的名字,而应起个怪怪的名称,比如fhyet3322f.mdb,再把它放在如./ytc345/y44/studi/ 的几层目录下,这样,黑客要想通过猜的方式得到您的Access数据库文件就难上加难了。

方法二:不要把数据库名写在程序中
有些人喜欢把DSN写在程序中,例如:
DBPath = Server.MapPath(“mydatabase.mdb”)
conn.Open “driver={Microsoft Access Driver (*.mdb)};dbq=” & DBPath
假如万一有人获得了源程序,您的Access数据库的名字就会一览无余。因此,建议您在ODBC里设置数据源,再在程序中这样写:
conn.open “bookdatadsn”

方法三:使用Access来为数据库文件编码及加密
在Access编辑窗口,选择“工具”菜单,单击“安全”,再单击“加密/解密数据库”,在“加密/解密数据库”窗口中选取数据库(如:data.mdb),然后按“确定”,接着会出现“数据库加密后另存为”的窗口,将其保存为data1.mdb。接着,data.mdb就会被编码,然后存为data1.mdb。要注意的是,以上的动作并不是对数据库设置密码,而只是对数据库文件加以编码,目的是为了防止他人使用别的工具来查看数据库文件的内容。
接下来我们为数据库加密。首先打开经过编码的data1.mdb,在打开时,选择“独占”方式,然后选择“工具”菜单->“安全”->“设置数据库密码”,接着输入密码即可。为data1.mdb设置密码之后,如果再使用Access数据库文件,则Access会先要求输入密码,验证正确后才能够启动数据库。对数据库加密后,要在ASP程序中使用,就需要在ASP程序中的connection对象的open方法中增加PWD的参数,例如:
param="driver={Microsoft Access Driver (*.mdb)};Pwd=yfdsfs"
param=param&";dbq="&server.mappath("data1.mdb")
conn.open param
这样,即使他人得到了data1.mdb文件,没有密码他是无法看到data1.mdb的。 

方法四:将数据库文件的扩展名改为以asp结尾的文件
因为浏览者无法下载asp文件,这样就保证了数据库的安全。具体的操作是,将设计好的数据库改名为以asp结尾的文件,如果在目录/gjb/mydatabase下有一个Access数据库文件userpass.mdb,将它改为userpass.asp,然后在程序的相应处将userpass.mdb换为usepass.asp,如下所示:
Set conn = Server.CreateObject("ADODB.Connection")
DBPath = Server.MapPath("/software/database/luserpass.asp")
conn.Open "driver={Microsoft Access Driver (*.mdb)};pwd=lys;uid=;dbq=" & DBPath

方法五:使用框架网页
大多数网站都采用框架网页来构筑网站安全之门。采用框架网页,即在同一个窗口中打开不同的页面,所有的页面都是以父窗口的形式在浏览者的浏览器中显示。
以上五种方法都可以有效地加强Access数据库的安全,笔者推荐采用第四种方法。

发表评论

最新评论

引用 caih2000 2009-4-4 21:02
谢谢分享

查看全部评论(1)

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-4-25 05:18 , Processed in 0.067046 second(s), 16 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

返回顶部