相信大家在开发一些小型网站的时候,常常会选择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数据库防下载的目的。