好心情Blog

回忆过去发生的,记录现在拥有的,展望未来改变的。

Jan
20
防止网站Access数据库(*.mdb)被恶意下载的办法

  以前在Win2000下Access的数据库造成了不少麻烦, 经常因为数据库被下载而造成网站的被黑, 因而出现了五花八门的防止MDB库被Down的办法, 简单总结一下, 基本上有以下几种:

  1. 改扩展名
    把*.MDB改成*.asp/*.asa等, 这样一来, 当客户端请求这些文件时, 服务器会先把这些文件(ACCESS库文件)交给"system32\inetsrv\asp.dll"来解释执行. 结果客户端在浏览器里看到的只是一堆乱七八糟的东西.
    虽然客户端在浏览器里看到的只是些乱码, 但因为asp.dll在数据库里找不到可解释执行的代码, 所以其实是直接把库文件以直接发送到客户端的, 客户端其实只要用FlashGet等直接请求, 然后把文件名改成*.MDB就可以直接用ACCESS打开的.
  2. 向表中加特殊防下载字段
    就是在表中加入一个特殊构造的二进行数据, 当asp.dll解释到这儿时就会不再进行, 所以用户端用快车等就下不到了.
  3. 从防火墙中加限制
    如果服务器上装了第三方的防火墙(如8signs等), 那在服务器的防火墙的HTTP过滤中把mdb这个扩展名给禁掉, 那客户端自然就不能下载了, 如果做得绝一点还可以当用户请求*.MDB时直接把其Ban掉
  4. 在IIS中进行扩展名映射
    这是最近刚学到的一个办法, 适合那些防火墙不能进行HTTP过滤的服务器: 在应用"程序映射"中添加一个*.mdb的映射, 只要解释程序不是asp.dll就可以的. 方法的提出者号称这是MDB防下载的终极解决办法, 实际上我却感觉这个办法不如防火墙中进行HTTP过滤, 因为不管用哪个dll进行过滤(除非是专门写的不进行任何动作的一个dll)解释时都会报错, 影响系统效率. 但防火墙不能进行HTTP过滤的服务器来说倒也是个不错的解决办法

  以上办法中1/2两种是最常用的, 3/4两种需要对服务器有控制权, 所以前两种用得更为广泛一些.

评论[ 0 ]

发表评论:

Blog搜索

Blog分类

RSS订阅



可能与本文相关的广告

最新评论及回复

留言本最新留言

最新文章

Tags云集

Powered by Z-Blog and Template by 软件兔. 随意转载, 但请在文章中加上本站链接:〖好心情Blog〗