前提:服务器为 IIS,并且支持运行 VBScript 和 CGI 。
网络上使用数据库来发布、收集以及管理信息是经常使用的方法,而现在大多数服务器使用 Microsoft 的 IIS ,大部分个人或者公司的用户使用直接指出相对路径地址的 Access 数据库,这种数据库的地址一旦被发现,就毫无安全可言,因为它可以直接被下载。
有一种方法是由网络管理员给你设置一个 dsn,但这不能解决数据库可能被下载的问题;很多人说,把数据库文件的扩展名由 .mdb 改为 .asp 或者 .dll 的扩展名,前者不管用,.asp 下载后改扩展名为 .mdb 依然能够打开使用,而改为 .dll 太麻烦。
现在提供一个十分简单有效的方法,IIS 一般都允许执行 cgi,把 Access 数据库的扩展名改为 .cgi 就行了,这样服务器只会返回一个执行错误,而文件实际不会被下载。
由于 Access 数据库改为 .asp 以后,由于其中没有 <% 与 %> 标识符,所以其中并不执行任何代码段,与一个纯 Html 文件无异,因而可以直接下载打开。
.cgi 是纯执行,所以,只要 iis 允许运行 .cgi ,那么这个 .cgi 就只会报错,源代码不会被下载(除非你让 IIS 报告出错程序 或 cgi 的源代码,那我没办法)改名后的文件就无法下载。
这样也不用和网管联系设 DSN,也方便自己的数据库更新。