ASP中防止ACCESS数据库被下载的办法
ASP中防止ACCESS数据库被下载的办法
对于站长来说,网站的核心就是数据库,如果被人下载到了,那这个网站也就岌岌可危了!对于数据库的防下载处理,通常是把数据库的格式由"MDB"改为"ASP",并在其中加入一个防下载的字段。
首先用Access打开MDB数据库,切换"对象"中的"表"为"查询",然后双击"在设计图中创建查询",在弹出的"显示表"窗口中,不添加任何表,直接点"关闭",这样在"工具栏"中就多了个"SQL"按钮,点击这个按钮或者在"查询"窗口中按鼠标右键,选择其中的"SQL视图",就会打开查询窗口,其实这个窗口就是Acces的SQL命令输入窗口。
接下来就可以创建防下载字段了,可以分两步进行:
第一步:先创建一个表,在SQL命令窗口输入以下内容:"Create Table [nodown]([jmdcw] olebject)",然后点击工具栏中的"!(运行)",这样,就会在当前数据库内创建一个nodown的表,其中的字段名称为"jmdcw",字段类型为"OLE对象"。
第二步:将SQL查询窗口中的内容更改为如下命令:"Insert into [nodown](jmdcw)values(0x3C25)",这一句的意思是说向"nodown"表的"jmdcw"字段中插入"0x3C25"数据("0x3C25"为字符"<%"的16进制)。
执行完成后 ,再次查看数据库中的"表",就会发现其中多了一个"nodown"表,字段显示的是"长二进制数据",瞧,是不是和某些专业的ASP程序的防下载字段一样啊。
最后,更改数据库扩展名"MDB"为"ASP",在本地IIS中测试,返回的信息如下:
错误内型:Actire Server Pages,ASP0116(0x80004005)Script块缺少脚本关闭标记(%>)。
因为前面插入的是"<%",所以当数据库变成ASP格式后,就会出现"缺少脚本关闭标记"的错误,在这里,出现错误却是件好事,因为它说明前面设置的防下载成功了。
另外其它防下载方法:
1:在数据库新建一个表,表名为<%safe就可以 ,这样iis在解析的时候会出现 500错误,数据库也就下载不了。
2:在你的数据库文件名后门加上# (不是扩展名,比如name#.mdb)这样iis就以为你是在请求该目录中默认的文件名,比如index.asp,如果iis找不到就会发出403禁止浏览目录的错误警告!
3:在iis中是把数据库所在的目录设为不可读,这样就可以防止被下载!请放心,这样做不会影响asp程序的正常使用!
4:直接使用数据源 (ODBC)这样数据库就可以不用在web目录里面,从而彻底防止被下载,但是这样做你必须拥有服务器的管理员权限,大部分虚拟主机用户是不可能用数据源 (ODBC)的!