当前位置: 首页 > 图文教程 > 操作系统 > Windows > FSO在Win2000服务器中的解决方案

Windows
轻松跨越Windows Server 2008远程管理障碍
一切为了效率 Windows Server 2008操作新招
Windows Server 2008搭建终端服务器
Windows Server 2008网络安全与终端服务
层层深入 拨开Windows Server 2008系统谜雾
清除Vista 系统休眠文件的方法
修改远程桌面端口提高Windows Vista系统安全性
XP安装IIS,找不到zClientm.exe的解决办法
操作系统更安全稳定的电脑使用方法
Vista 系统组策略的神秘世界
Vista SP2 更新和升级常见问题和解决方案
禁用Windows Vista的本地搜索历史记录
解决Windows Vista/7下安装程序冲突问题
Windows Live Messenger 2009 - 双开不再是难题
Windows XP/Vista/Windows 7常见蓝屏故障分析
自己动手解决微软ActiveX安全隐患
一条命令轻松解决中文Vista却出现英文启动项菜单
Windows Themes外观视觉样式故障汇总
让Vista中的Media Center 支持更多文件格式及文件夹
巧用命令一次关闭Vista下多个IE8进程

Windows 中的 FSO在Win2000服务器中的解决方案


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-16   浏览: 40 ::
收藏到网摘: n/a

ASP 执行时,是以“IUSR_机器名”的身份访问硬盘的,这里没给该用户帐号权限,ASP 也就不能读写硬盘上的文件了。

解决方法:在服务器上打开资源管理器,用鼠标右键点击asp文件所在目录或硬盘分区,选择“属性”,选择“安全”选项卡,此时就可以看到有哪些帐号可以访问这个目录,分区(卷)及访问权限。默认安装后,出现的是“Everyone”具有完全控制的权限。点“添加”,将“IUSR_机器名”给予“完全控制”或相应的权限。

这样做有一定的安全隐患,因为通过fso可以获得读写文件的权限,容易被黑客利用,下面是一种方法

我们知道,除了CreateObject方法以外,也可以使用一般的标注建立一个组件,我们可以在ASP里面使用HTML

Runat表示是在服务端执行,Scope表示组件的生命周期,可以选用Session,Application或page(表示当前页面,也可缺省) 

我们也可以通过修改该Clsid的值而禁用该组件,如将注册表中HKEY_CLASSES_ROOT\Scripting.FileSystemObject\CLSID的值0D43FE01- F093-11CF-8940-00A0C9054228改成0D43FE01-F093-11CF-8940-00A0C9054229(改了最后面一位),这时候的写法为:

CF-8940-00A0C9054229">

看运行结果,没问题,OK。这时候我们再用CF-8940-00A0C9054228">这时候就出错了。

新建一用户:iusr_domain

IIS里设置对应站点的匿名用户IUSR_DOMAIN

CACLS: 设置目录权限

这样FSO可用,但不会影响别人

预防的办法:

限制用户使用FileSystemObject对象。一种极端的做法是完全反注册掉提供FileSystemObject对象的那个组件,也就是Scrrun.dll。具体的方法如下:

在MS-DOS状态下面键入:

Regsvr32 /u c:\windows\system\scrrun.dll

(注意:在实际操作的时候要更改成为你本地的实际路径)