防止网站数据库被下载

对于站长来说,网站的核心就是数据库,如果被人下载到了,那这个网站也就岌岌可危了!对于数据库的防下载处理,通常是把数据库的格式由"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格式后,就会出现"缺少脚本关闭标记"的错误,在这里,出现错误却是件好事,因为它说明前面设置的防下载成功了。

2008-05-11增:

<%
set conn=server.createobject("Adodb.Connection")
connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("db1.mdb")
conn.open connstr
conn.execute("create table notdownload(notdown oleobject)")
set rs=server.createobject("adodb.recordset")
sql="select * from notdownload"
rs.open sql,conn,1,3
rs.addnew
rs("notdown").appendchunk(chrB(asc("<")) & chrB(asc("%")))
rs.update
rs.close
set rs=nothing
conn.close
set conn=nothing
%>


评论: 0 | 引用: 0 | 查看次数: 3683
发表评论
登录后再发表评论!