好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

网站Access数据库文件更安全的3种措施

数据库 , 网站 运营的基础, 网站 生存的要素,不管是个人用户还是企业用户都非常依赖 网站 数据库 的支持,然而很多别有用心的攻击者也同样非常看重 网站 数据库 。 对于个人 网站 来说,受到建站条件的制约,Access 数据库 成了广大个人 网站 站长的首

数据库 , 网站 运营的基础, 网站 生存的要素,不管是个人用户还是企业用户都非常依赖 网站 数据库 的支持,然而很多别有用心的攻击者也同样非常[看重] 网站 数据库 。

对于个人 网站 来说,受到建站条件的制约,Access 数据库 成了广大个人 网站 站长的首选。然而,Access 数据库 本身存在很多 安全 隐患,攻击者一旦找到 数据库 文件 的存储路径和 文件 名,后缀名为[.mdb]的Access 数据库 文件 就会被下载, 网站 中的许多重要信息会被一览无余,非常可怕。当然,大家采用了各种 措施 来加强Access 数据库 文件 的 安全 ,但真的有效吗?

存在漏洞的保护 措施

流传最为广泛的一种Access 数据库 文件 保护 措施 ,是将Access 数据库 文件 的后缀名由[。mdb]改为[。asp],接着再修改 数据库 连接 文件 (如conn.asp)中的 数据库 地址内容,这样一来即使别人知道 数据库 文件 的 文件 名和存储位置,也无法进行下载。

这是网上最流行的一种增强Access 数据库 安全 的方法,而且还有强大的[理论基础]。因为[。mdb] 文件 不会被IIS服务器处理,而是直接将内容 输出到Web浏览器,而[。asp] 文件 则要经过IIS服务器处理,Web浏览器显示的是处理结果,并不是ASP 文件 的内容。

但大家忽略了一个很重要的问题,这就是IIS服务器到底处理了ASP文档中的哪些内容。这里提醒大家,只有ASP 文件 中[]标志符间的内容才会被IIS服务器处理,而其他内容则直接 输出到用户的Web浏览器。你的 数据库 文件 中包含这些特殊标志符吗?即使有,Access也可能会对文档中的[]标志符进行特殊处理,使之无效。因此后缀为[。asp]的 数据库 文件 同样是不 安全 的,还是会被恶意下载。

面对蛊惑人心的理论,以及众人的附和,笔者也开始相信此方法的有效性。但事实胜于雄辩,一次无意间的试验,让笔者彻底揭穿了这个谣言。

笔者首先将一个名为[cpcw.mdb]的 数据库 文件 改名为[cpcw.asp],然后上传到 网站 服务器中。运行flashGet,进入[添加新的下载任务]对话框,在[网址]栏中输入[cpcw.asp] 文件 的存储路径,然后在[重命名]栏中输入[cpcw.mdb]。进行下载后,笔者发现可以很顺利地打开[cpcw.mdb],而且它所存储的信息也被一览无余。这就充分说明了单纯地将 数据库 文件 名的后缀[。mdb]改为[。asp],还是存在 安全 隐患。

没有最[ 安全 ],只有更[ 安全 ]

任何事情都不是绝对的,因此增强Access 数据库 文件 的 安全 也只是相对的。毕竟Access只能用于小型 数据库 的解决方案,它存在很多先天不足,特别是在 安全 方面。

我们所采用的各种方法,也只是相对来说增强了Access 数据库 文件 的 安全 ,并不能实现绝对的 安全 ,毕竟先天不足的问题是无法解决的。下面笔者为大家介绍一些方法,虽然不能完全防止别人下载Access 数据库 文件 ,但只要你善用它们,Access 数据库 文件 就会更 安全 。

方法一: 数据库 文件 名应复杂

要下载Access 数据库 文件 ,首先必须知道该 数据库 文件 的存储路径和 文件 名。如果你将原本非常简单的 数据库 文件 名修改得更加复杂,这样那些[不怀好意]者就要花费更多的时间去猜测 数据库 文件 名,无形中增强了Access 数据库 的 安全 性。

很多ASP程序为方便用户使用,它的 数据库 文件 通常都被命名为[data.mdb],这大大方便了有经验的攻击者。如果我们将 数据库 文件 名修改得复杂一些,他人就不易猜到,如将[data.mdb]修改为[1rtj0ma27xi.mdb],然后修改 数据库 连接 文件 中的相应信息。这样Access 数据库 就相对 安全 一些。此方法适合于那些租用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 数据库 文件 才会更 安全 。

查看更多关于网站Access数据库文件更安全的3种措施的详细内容...

  阅读:32次