拼吾爱程序人生

首页 » 数据库编程 » Other DB » Access数据库防止被非法下载的4种安全方式
cobra - 2008-7-26 11:36:00
一、密码式
给数据库起一个随机复杂的名称,避免被猜到被下载,这种方式在以前很流行,因为大家都对自己的代码很有自信。但随着错误提示对数据库地址的泄露导致数据库被非法下载,这种方式也就越来越少人用了。
这种方法,已经很少被用到了,除了对安全不甚了解的程序员,虽然少,但是还是会遇到,比如前几天看到的物业的网站。

二、"#"式
在数据库名称里加上#号,从URL上请求时#是请求地址和请求参数的一个分隔字符,如果知道了数据库名,直接请求的话,如:http://www.xx.com/access#.mdb,WEB服务器会认为请求的是access而不是access#.mdb,所以会提示找不到文件,但是很遗憾,URL中对于这些特殊的字符都会有一个特殊的表示方式,#的特殊表示就是%23,如http://www.xx.com/access%23.mdb,那么access#.mdb将会被下载。还有如果用FlashGet之类的下载工具也可以直接下载。

这种方法感觉有点类似于掩耳盗铃,因为通过下载工具,可以很方便的下载,没有什么实际意义,除了对付刚接触的人。

三、ASP式
这种作法是比较专业但也是很安全的也是现在比较流行的作法,但是现在许多的人只是作了一半,只是将数据名改成ASP而以,这样的话直接用FlashGet之类的下载工具一样可以将数据库下载,这种方式的正确作法有两步:
第一步:在数据库内创建一个字段,名称随意,类型是OLE对象,内容设置为单字节型的"

这段代码运行完之后将会在数据库内生成一个nodownload表,表内字段是notdown。如果数据库内已有同名的数据表存在请将代码内的nodownload改成自己想要的数据表名即可。

这种方法用的比较普遍,正如作者所说,大多数人只是将mdb后缀改称了asp,实际上如果知道路径,用flashget一样可以下载。
作者提供的asp源代码,可以直接创建表和字段,并添加内容。大家可以保存为.asp文件,在浏览器执行一次即可。
当然也可以直接编辑数据库:
1、打开access数据库
2、使用设计创建表,添加字段notdown,类型使用“OLE对象”
3、保存为nodownload,不创建主键。
4、打开记事本,编辑文件nodownload.txt,内容为“<%”。
5、打开nodownload表,点击右键-->插入对象,选择从文件插入,定位到nodownload.txt,确认。
以上都需要在数据库创建一个表,大家可以把这个表留着不管,也可以直接删除,同样可以起到反下载的功能,即:执行后再删除。关于这一点,大家可以试试。

四、asa式
这种方式的真谛是利用IIS对ASA文件的保护,从而使得数据库文件不能从URL上直接请求下载,但是这种方式被误解成只要将文件后缀改成ASA就可以了。要知道IIS只是对global.asa这个文件名有请求保护,所以这种方式只能将数据库名设置为global.asa,而且要注意的是,设置成global.asa之后最好不要将其放在主机或虚拟目录的根目录里,不然会被IIS当然正常的global.asa文件进行尝试运行的。

这种方法也比较不错的,但是如果网站已经使用了global.asa,有时候容易混淆,大家根据情况看吧。
感觉第三第四种是比较安全的,除非IIS有查看ASP或ASA源码的漏洞,否则是无法将数据库下载的。

文/Andy  出处/赛迪网

 您可能对 [Other DB] 的这些文章也感兴趣:

db4objects 7.4应用笔记
数据库大全--简介和下载(不断更新)
号称世上最先进的开源数据库:PostgreSQL
使用Access数据库时可能用到的数据转换
Sybase ASE出现表间循环依赖不能删除的问题
Sybase ASE出现表间循环依赖不能删除的问题
启动数据库管理工具Sybase Central的方法
Sybase PowerDesigner 12通用的破解方法
如何将现有的Sybase逻辑卷改名
Drizzle —— 数据库的新方向
1
查看完整版本: Access数据库防止被非法下载的4种安全方式
Modify by pin5i DZNT_ExpandPackage 2.1.3237 2007-2008 pin5i.com
  Total Unique Visitors: