如何增强网站数据库Access文件的安全性

作者:唐子明 来源:赛迪网 时间:2008-11-13 16:58:00 

对于个人网站来说,受到建站条件的制约,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空间的用户使用。

标签:数据库,access,安全
0
投稿

猜你喜欢

  • 用vuex写了一个购物车H5页面的示例代码

    2024-05-08 10:43:09
  • 详解Golang实现请求限流的几种办法

    2024-04-26 17:19:16
  • python自定义类并使用的方法

    2022-08-16 14:36:29
  • Python中的XML库4Suite Server的介绍

    2023-08-12 01:26:41
  • 如何在Django中使用聚合的实现示例

    2021-08-02 10:32:30
  • MySQL索引用法实例分析

    2024-01-22 16:42:22
  • JavaScript观察者模式(publish/subscribe)原理与实现方法

    2024-04-10 10:44:15
  • Centos8安装mysql8的详细过程(免安装版/或者二进制包方式安装)

    2024-01-27 02:51:17
  • Python 异常处理的实例详解

    2023-10-05 17:11:58
  • python绘制封闭多边形教程

    2023-08-12 04:55:00
  • MySQL删除数据Delete与Truncate语句使用比较

    2024-01-15 05:12:42
  • python 多进程和多线程使用详解

    2021-08-12 19:50:43
  • 详解Python的collections模块中的deque双端队列结构

    2021-08-15 19:35:57
  • 网页制作 JSP与ASP 的比较

    2005-08-10 16:00:00
  • Python之Pygame的Event事件模块

    2021-07-17 06:18:40
  • pytest实现测试用例参数化

    2023-12-10 19:01:21
  • 使用Python脚本将绝对url替换为相对url的教程

    2022-09-03 09:36:39
  • Oracle SQL性能优化系列学习三

    2010-07-23 13:08:00
  • SaaS中的用户体验设计

    2009-05-20 12:28:00
  • 图片链接轮换代码, 支持预载

    2007-10-16 19:57:00
  • asp之家 网络编程 m.aspxhome.com