从数据库管理下手 多手段提升网站安全
2007-07-31 13:05:39 来源:WEB开发网不足之处:一旦查看到数据库连接文件(如conn.asp)中的内容,再复杂的文件名也无济于事。
方法二、利用ODBC数据源
很多网站Web程序,将Access数据库文件的存储路径和文件名存放在数据库连接文件中。一旦这些连接文件中的内容外泄,那么不管数据库文件名多么复杂,都会暴露出踪迹。
这时就可以使用ODBC数据源方法,即使连接文件的内容外泄,他人也只能知道网站程序所使用的ODBC数据源名称,而数据库文件的存储路径和文件名却无法找到。
手工修改数据库连接文件(如conn.asp)中的内容,以及创建ODBC数据源。下面以笔者的论坛程序为例,首先将conn.asp文档中的
DBPath = Server.MapPath("./data/1rtj0ma27xi.mdb")
conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & DBPath
修改为:conn.open "rtjmaxi",其中“rtjmaxi”是指ODBC数据源名称。
接着在IIS服务器中新建名为“rtjmaxi”的ODBC数据源,并在其中指定“1rtj0ma27xi.mdb”数据库文件的位置即可,最后点击“确定”按钮完成配置。
不足之处:此方法不适合于租用Web空间的用户使用,要想使用ODBC数据源方法,必须要有管理和维护IIS服务器的权限。
方法三、改变存储位置
一般情况下,Access数据库文件存放在相应的Web目录中,很多黑客就是利用这种规律来查找并下载数据库文件。
因此可以采用改变数据库文件存储位置的方法,将数据库文件存放在Web目录以外的某个文件夹中,让黑客难以猜测存储位置。
接着修改好数据库连接文件(如conn.asp)中的数据库文件相应信息,这样Access数据库文件就安全多了。即使攻击者通过连接文件找到数据库文件的存储路径,由于数据库文件存放在Web目录以外的地方,攻击者就无法通过HTTP方式下载数据库文件。
例如,IIS网站的Web目录位于“D:wwwroot”下,在该Web目录下的“DATA”文件夹中存放着“1rtj0ma27xi.mdb”,现在笔者将该数据库文件转移到Web目录以外的“D:CPCW”文件夹下。然后修改数据库连接文件,将
DBPath=Server.MapPath("./data/1rtj0ma27xi.mdb")
修改为DBPath=Server.MapPath("../cpcw/1rtj0ma27xi.mdb")
这样Access数据库文件就安全多了。虽然数据库文件没有存放在Web目录中,但并不影响ASP程序访问数据库。
不足之处:此方法不适合于租用Web空间的用户使用,因为将Access数据库文件移至Web目录之外,一般需要很大的权限。
以上方法,在不同程度上增强了Access数据库文件的安全性,但大家不能将它们当成“仙丹妙药”,毕竟网络环境是复杂的,黑客的破坏手段也在不断增强,大家可以根据自己的需要,选择其中的多种方法配合使用,效果才理想,Access数据库文件才会更安全。
更多精彩
赞助商链接