利用添加数据库名的扩展映射防止数据库被下载
昨天从网上下载了一个asp的源代码进行分析的时候发现的这个问题,以前防止数据库下载用的方式一般是加密,该后缀,加#,用ODBC等,可是今天下载的这个源码没有采用这些方案,coon.asp文件的内容为
<%
'option explicit
dim startime,conn,connstr,db,rs,rs_s,rs_s1
startime=timer()
db="data/Admin_DB.mdb"
Set conn = Server.CreateObject("ADODB.Connection")
connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(""&db&"")
conn.Open connstr
%>
依然不能下载如图1
[img]http://hiphotos.baidu.com/lzl0532/pic/item/c2f3ab4e8cc4bde9d0c86a9c.jpg[/img]
后来经过仔细查找终于知道了原来可以通过对IIS进行设置来防止数据库被下载,显然这个只是用于有自己的服务器的用户,对于购买空间的用户来说就没大用处了,除非管理员本来就安全意识比较高在配置服务器的时候已经配置好了。这个 方法我认为是目前最好的。对一个服务器上的所有网站都能起到保护作用,技术程序设计人员马虎也能够防止数据库被下载。
我们在IIS属性---主目录---配置---映射---应用程序扩展那里添加.mdb文件的应用解析。注意这里的选择的DLL文件也不是任意的,与framework的版本有关系我的是这样的,
在可执行文件处填写:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll
动作限制为GET,HEAD,POST,DEBUG
如图2
[img]http://hiphotos.baidu.com/lzl0532/pic/item/59ca1c44d624326f500ffe9d.jpg[/img]
如果设置不当,这个MDB文件还是可以被下载的。
这样修改后下载数据库如:http://localhost/data/Admin_DB.mdb。就出现(404或50 0等错误)
删除这个映射就可以下载数据库了,如图3
[img]http://hiphotos.baidu.com/lzl0532/pic/item/d7df54fcedcba2a1b801a09e.jpg[/img]
页:
[1]