现在绝大多数的虚拟主机都禁用了 ASP 的标准组件FileSystemObject因为这个组件为 ASP 提供了强大的文件系统访问能力可以对服务器硬盘上的任何文件进行读写复制删除改名等操作(当然这是指在使用默认设置的 Windows NT / 下才能做到)但是禁止此组件后引起的后果就是所有利用这个组件的 ASP 将无法运行无法满足客户的需求 如何既允许 FileSystemObject 组件又不影响服务器的安全性(即不同虚拟主机用户之间不能使用该组件读写别人的文件)呢?这里介绍本人在实验中获得的一种方法下文以 Windows Server 为例来说明 在服务器上打开资源管理器用鼠标右键点击各个硬盘分区或卷的盘符在弹出菜单中选择属性选择安全选项卡此时就可以看到有哪些帐号可以访问这个分区(卷)及访问权限默认安装后出现的是Everyone具有完全控制的权限点添加将AdministratorsBackup OperatorsPower UsersUsers等几个组添加进去并给予完全控制或相应的权限注意不要给Guests组IUSR_机器名这几个帐号任何权限然后将Everyone组从列表中删除这样就只有授权的组和用户才能访问此硬盘分区了而 ASP 执行时是以IUSR_机器名的身份访问硬盘的这里没给该用户帐号权限ASP 也就不能读写硬盘上的文件了 下面要做的就是给每个虚拟主机用户设置一个单独的用户帐号然后再给每个帐号分配一个允许其完全控制的目录 如下图所示打开计算机管理→本地用户和组→用户在右栏中点击鼠标右键在弹出的菜单中选择新用户 在弹出的新用户对话框中根据实际需要输入用户名全名描述密码确认密码并将用户下次登录时须更改密码前的对号去掉选中用户不能更改密码和密码永不过期本例是给第一虚拟主机的用户建立一个匿名访问 Internet 信息服务的内置帐号IUSR_VHOST即所有客户端使用 访问此虚拟主机时都是以这个身份来访问的输入完成后点创建即可可以根据实际需要创建多个用户创建完毕后点关闭 现在新建立的用户已经出现在帐号列表中了在列表中双击该帐号以便进一步进行设置 在弹出的IUSR_VHOST(即刚才创建的新帐号)属性对话框中点隶属于选项卡 刚建立的帐号默认是属于Users组选中该组点删除 现在出现的是如下图所示此时再点添加 在弹出的选择 组对话框中找到Guests点添加此组就会出现在下方的文本框中然后点确定 出现的就是如下图所示的内容点确定关闭此对话框 打开Internet 信息服务开始对虚拟主机进行设置本例中的以对第一虚拟主机设置为例进行说明右击该主机名在弹出的菜单中选择属性 弹出一个第一虚拟主机 属性的对话框从对话框中可以看到该虚拟主机用户的使用的是F:\VHOST这个文件夹 |