Access数据库安全策略之ASP式

2014 年 1 月 20 日4240

这种作法是比较专业但也是很安全的也是现在比较流行的作法,但是现在许多的人只是作了一半,只是将数据名改成ASP而以,这样的话直接用FlashGet之类的下载工具一样可以将数据库下载,这种方式的正确作法有两步:   

第一步:在数据库内创建一个字段,名称随意,类型是OLE对象,内容设置为单字节型的" "<%",即(ASP代码chrB(asc("<")) & chrB(asc("%"))的运行结果)  

第二步:将数据库改名为ASP  

这样从URL上直接请求这个数据库将会提示"缺少关闭脚本分隔符",从而拒绝下载,因为这个方式比较麻烦我在网上找了一段小代码来完成OLE对象的插入工作,只要将数据库名设置好,然后放在和数据库内一目录运行一下就可以了。 

 

代码全文如下:  

<%  

db="d.mdb" '这里改成您的数据库地址  

set conn=server.createobject("Adodb.Connection")  

connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath(db)  

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  

%>   

这段代码运行完之后将会在数据库内生成一个nodownload表,表内字段是notdown。如果数据库内已有同名的数据表存在请将代码内的nodownload改成自己想要的数据表名即可。

作者 Beautiful Encounter——

0 0