两招彻底杜绝网站Access数据库被下载[转自CSDN]

      编程资料 2004-12-21 11:0
两招彻底杜绝网站Access数据库被下载[转自CSDN]

 目前Access数据库在中小型WEB项目中应用非常广泛,Access数据库的安全问题不容忽视。其中“防止Access数据库文件被直接下载”是核心问题。现在网上流传着N种“防止Access数据库文件被直接下载”的方法,但大多数都是错误的,例如:给mdb文件取个复杂的文件名、在mdb文件加上“#”、把后缀名改成asp、asa等等。

  对于以上的几种防范方法,只要知道mdb文件的URL,用下载工具FlashGet等就能直接下载下来。还有人说可以在Access里设置密码,即使黑客得到数据库也没用。其实Access数据库的加密机制是非常脆弱的,加密后数据库系统通过将用户输入的密码与某一固定密钥进行"异或"来形成一个加密串,并将其存储在*.mdb文件从地址"&H42"开始的区域内。用程序可以轻松的写出破解代码.网上早已有这样的程序了。

  现在我给大家讲一下我的两个非常简单的方法:

1、如果你是本机调试,就是说你能控制网站服务器的IIS,那么很简单,把mdb文件放到WEB主目录的外面。例如,你的WEB目录在D:\WebSite目录下,那么就把数据库保存在D:\根目录下。攻击者再有本事也无法下载。

2、如果你是网上申请的虚拟主机,先把数据库“db.mdb”改成“db.asp”,在写一个文本文件1.txt,内容如下:
<%response.redirect"err.asp" %>
再写一个err.asp文件:
<%response.write"禁止下载数据库!" %>
然后在cmd中输入:
copy db.asp /b + 1.txt/a db2.asp
这条命令的意思是文件合并拷贝,让db.asp以二进制方式、1.txt以ASCII方式拷贝,合成文件为db2.asp。生成的db2.asp就是安全的数据库文件了。无论是用IE还是FlashGet等下载工具均无法下载,只能下载到err.asp。

[转自:http://blog.csdn.net/taker2001/archive/2004/12/13/214149.aspx]
标签集:TAGS:
回复Comments() 点击Count()

回复Comments

{commentauthor}
{commentauthor}
{commenttime}
{commentnum}
{commentcontent}
作者:
{commentrecontent}