众所周知,FileSystemObject组件的强大功能及破坏性是它屡屡被免费主页 }b&S3?ONt
提供商(那些支持ASP)的禁用的原因,我整理了一下,本来只找到两种方法,后来 HBtk)
被某人一刺激,硬是想到第三种不为人所知的方法,呵呵,也不知道是不是这样的。 (uDd_@a9t
vI5lp5( -3
第一种:用RegSrv32 /u C:\WINDOWS\SYSTEM\scrrun.dll(win98路径)来注销该组 p`c_5!H
件。此方法过于狠毒,属于同归于尽的方法,大家都没得用,是下招 qa
)BbK^i
E
BBd
第二种:修改Progid的值,在ASP里调用组件的方式通常是 Set 对象名=Server. 4m1r@
$
CreateObject("Progid"),这时候我们就可以通过修改注册表中的Progid值从达 KAFR.h:p9
到禁用该组件的方法。在 开始-运行中敲入regedit,然后找到HKEY_CLASSES_ROO ~tW~%]bs2Q
T\Scripting.FileSystemObject,这时候我们就可以更改该Progid的值了,如改 mOn_#2=KF
成Scripting.FileSystemObject8。这样在ASP页里就这样调用了: sTlel&
ja';NIO-
B#SVN Lv
以下是代码片段: VK1B}5 /
<%@ Language=Vbscript%> z^Ikb(KC
<% KbvMp1'9P
Set Fs=Server.CreateObject("Scripting.FileSystemObject8") ZCPUNtOl
%> fTvm2+.nX
Q
zaD\^OF
z"UC$
(如果你前面没有调用过该组件的话,则无须重启,就可以看到效果了,否则请重 kv3Dn&<rJ
启后看效果。) V<H9KA
这时候我们看看还是用原来的调用方法的结果: Op?"G
^sLx3a
以下是代码片段: Y6sX|~Zy
<%@ Language=Vbscript%> 8iJB'#''*
<% RK|*yt"f"
Set Fs=Server.CreateObject("Scripting.FileSystemObject") Wx{E\ l
%> ~:bdS 4w
RE%f'y
p,$N-22a
{.{Wl,|7
这时候的运行结果为: |9c~kTjK
服务器对象 错误 'ASP 0177 : 800401f3' tULGfvp
bP9ly9FH
Server.CreateObject 失败 ?[NC}LC
"yaxHd
/aspimage/testfile2.asp, 行3 SXOAa<u5
*<