好记性不如烂博客发现-分享-成就

有效防止网站的ACCESS数据库文件被恶意下载的方法

方法一、数据库文件改名

  • 使用更长的文件名,比如改用一个GUID类型的36位长串,这样几乎不能被遍历猜到。进入盘诚GUID生成工具
  • 去掉扩展名或改为.asa文件。对于未添加解析的文件类型,网络访问时IIS会报告500错误,自然不会被下载。比如:把数据库文件改为global.asa,可以有效的防止下载,因为微软的系统规则里禁止直接请求该文件名。
  • 把数据库文件前名加上#字符。原理是文件下载时只能识别#前面的文件名,对于锚点(#)后面的信息会自动去除。
  • 在数据库文件名中保留一些空格也起到防下载作用,原理是HTTP协议对地址解析的特殊性,空格会被编码为"%"字符。

方法二、数据库加密

将数据库文件以"独占"方式打开,然后选取功能表的"工具->安全->设置数据库密码",接着输入密码并保存即可。数据库加密后,即使被恶意下载了也无法打开。但值得注意的是,由于Access数据库的加密机制比较简单,即使设置了密码,解密也很容易。因此,只要数据库被下载,其数据安全依然是个未知数。

微软官方支持网站:使用数据库密码加密数据库

方法三、将数据库文件放在网站目录外或其他虚拟目录中,并设置NTFS分区的文件权限

假设网站目录为D:\WebRoot,当把数据库文件放到E:\DbFile文件夹中时,数据库是可以正常调用的,但是无法下载,因为它不在发布目录中。


方法四、添加数据库名的扩展映射或进行URL重定向

与数据库文件改名大法中第2小点相同,主动添加扩展映射,可以实现下载数据库时,出现404或500错误提示。即:在IIS属性—主目录—配置—映射—应用程序扩展,添加对.mdb文件的应用解析。

利用重定向,也可以达到防下载的终极目标。在Internet信息服务(IIS)管理器的左边窗口中找到你数据库所在的文件夹,在右边窗口中右击网站数据库文件名并在弹出菜单中选择“属性”,然后在弹出的窗口中勾选“重定向到URL”,最后在“重定向到:”输入框中输入跳转的网址即可。


方法五、使用ODBC数据源

如果允许,可以使用ODBC数据源,如此在网站程序中就不会暴露数据库文件名和路径信息。

结合使用以上方法,基本杜绝数据库被下载的所有可能。不过,盘诚也提醒各位站长,经常备份数据库才是网站运维的头等法宝。