阿根廷短腿土狗哟西 發表於 2008-9-8 19:25:18

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

<p style="text-indent: 2em">ASP 执行时,是以&ldquo;IUSR_机器名&rdquo;的身份访问硬盘的,这里没给该用户帐号权限,ASP 也就不能读写硬盘上的文件了。</p>
<p style="text-indent: 2em"><a target="_blank" href="#" class="UBBWordLink">解决</a><a target="_blank" href="#" class="UBBWordLink">方法</a>:在<a target="_blank" href="#" class="UBBWordLink">服务</a>器上打开资源管理器,用鼠标右键点击asp文件所在目录或硬盘分区,选择&ldquo;属性&rdquo;,选择&ldquo;安全&rdquo;选项卡,此时就可以看到有哪些帐号可以访问这个目录,分区(卷)及访问权限。默认<a target="_blank" href="#" class="UBBWordLink">安装</a>后,出现的是&ldquo;Everyone&rdquo;具有完全控制的权限。点&ldquo;添加&rdquo;,将&ldquo;IUSR_机器名&rdquo;给予&ldquo;完全控制&rdquo;或相应的权限。</p>
<p style="text-indent: 2em">这样做有一定的安全隐患,因为通过fso可以获得读写文件的权限,容易被黑客利用,下面是一种<a target="_blank" href="#" class="UBBWordLink">方法</a>。</p>
<p style="text-indent: 2em">我们知道,除了CreateObject方法以外,也可以使用一般的标注建立一个组件,我们可以在ASP里面使用HTML</p>
<p style="text-indent: 2em">Runat表示是在<a target="_blank" href="#" class="UBBWordLink">服务</a>端执行,Scope表示组件的生命周期,可以选用Session,Application或page(表示当前页面,也可缺省)&nbsp;</p>
<p style="text-indent: 2em">我们也可以通过修改该Clsid的值而禁用该组件,如将注册表中HKEY_CLASSES_ROOT\Scripting.FileSystemObject\CLSID的值0D43FE01- F093-11CF-8940-00A0C9054228改成0D43FE01-F093-11CF-8940-00A0C9054229(改了最后面一位),这时候的写法为:</p>
<p style="text-indent: 2em">CF-8940-00A0C9054229&quot;&gt;</p>
<p style="text-indent: 2em">看运行结果,没问题,OK。这时候我们再用CF-8940-00A0C9054228&quot;&gt;这时候就出错了。</p>
<p style="text-indent: 2em">新建一用户:iusr_domain</p>
<p style="text-indent: 2em">IIS里<a target="_blank" href="#" class="UBBWordLink">设置</a>对应站点的匿名用户IUSR_DOMAIN</p>
<p style="text-indent: 2em">CACLS: <a target="_blank" href="#" class="UBBWordLink">设置</a>目录权限</p>
<p style="text-indent: 2em">这样FSO可用,但不会影响别人</p>
<p style="text-indent: 2em">预防的办法:</p>
<p style="text-indent: 2em">限制用户使用FileSystemObject对象。一种极端的做法是完全反注册掉提供FileSystemObject对象的那个组件,也就是Scrrun.dll。具体的<a target="_blank" href="#" class="UBBWordLink">方法</a>如下:</p>
<p style="text-indent: 2em">在MS-DOS状态下面键入:</p>
<p style="text-indent: 2em">Regsvr32 /u c:\windows\system\scrrun.dll</p>
<p style="text-indent: 2em">(注意:在实际<a target="_blank" href="#" class="UBBWordLink">操作</a>的时候要更改成为你本地的实际路径)</p>

<p style="text-indent: 2em">&nbsp;</p>
頁: [1]
查看完整版本: FSO在Win2000服务器中的解决方案