相信大家在开发一些小型网站的时候,常常会选择ASP+ACCESS组合,可是ACCESS数据库有一个致命的缺点就是容易被下载。大家知道,一个网站的秘密其实就是数据库,数据库如果被下载了,不用我说这意味着什么了吧。最常用的ACCESS防下载的方法,是把数据库的扩展名改成.asp,或者在数据库名前加#号等等,但都起不到真正的作用,仍然可以破解下载数据库,最好的方法就是在ACCESS数据库中添加防下载字段,具体方法如下:
准备工作:
1、安装ACCESS数据库软件
2、新建一个ACCESS数据库,这里假设为htmer_db.mdb
添加ACCESS防下载字段:
1、打开新建的htmer_db.mdb数据库,点击“对象”中的“查询”选项,然后双击“在设计视图中创建查询”选项,相关截图如下所示:
2、在弹出的“显示表”窗口中点击“关闭”按钮,此时在工具栏中会多出一个SQL图标,单击该图标,相关截图如下所示:
3、在弹出的查询窗口中输入如下语句后点击运行按钮(即工具栏中的感叹号):
Create Table [htmer_notdown]([htmer] oleobject)
相关截图如下所示:
上面语句的说明:创建了一个名为“htmer_notdown”表,其中的字段名称为“htmer”,字段类型为“OLE对象”。
4、将查询窗口中的语句删除,并输入如下语句后运行,运行的时候会提示是否追加1行,点击“是”按钮:
Insert into [htmer_notdown](htmer) values(0x3C25)
相关截图如下所示:
上面语句的说明:向“htmer_notdown”表的“htmer”字段中插入“0x3C25”数据(“0x3C25”为字符“<%”的16进制)。
5、关闭查询窗口,此时提示你是否要保存,选择否即可。此时ACCESS防下载字段就添加完成了,切换到“表”对象,会发现里面多了一个表htmer_notdown,打开后发现字段显示的是“长二进制数据”,相关截图如下所示:
6、将htmer_db.mdb数据库改名为htmer_db.asp
原理分析:因为当数据库的扩展名变成ASP格式后,从远程访问这个文件的时候,IIS服务器就会把它当成ASP程序来执行,而我们之前在ACCESS数据库中插入了“<%”符号,而ASP程序必须在<%%>标记中才能执行,所以就会出现“缺少脚本关闭标记”的错误。由于这个错误,所以人家就无法下载ACCESS数据库了,也就达到了ACCESS数据库防下载的目的。