众所周知,FileSystemObject组件的强大功能及破坏性是它屡屡被免费主页 q=cnY+p>
提供商(那些支持ASP)的禁用的原因,我整理了一下,本来只找到两种方法,后来 J|V*g]#kP
被某人一刺激,硬是想到第三种不为人所知的方法,呵呵,也不知道是不是这样的。 :ldI1*@i<
3KD:JKn^
第一种:用RegSrv32 /u C:\WINDOWS\SYSTEM\scrrun.dll(win98路径)来注销该组 sFfargl
件。此方法过于狠毒,属于同归于尽的方法,大家都没得用,是下招 \SmYxdU'>
G?s;L NR
第二种:修改Progid的值,在ASP里调用组件的方式通常是 Set 对象名=Server. MkZoHzg}c
CreateObject("Progid"),这时候我们就可以通过修改注册表中的Progid值从达 h _c11#
到禁用该组件的方法。在 开始-运行中敲入regedit,然后找到HKEY_CLASSES_ROO j*VYUM@y1\
T\Scripting.FileSystemObject,这时候我们就可以更改该Progid的值了,如改 s*CBYzOm
成Scripting.FileSystemObject8。这样在ASP页里就这样调用了: $\oe}`#o
&xj,.;
AA|G&&1y
以下是代码片段: 9Z2aFW9
<%@ Language=Vbscript%> =;8q`
<% H-&
ktQWK3
Set Fs=Server.CreateObject("Scripting.FileSystemObject8") xjDaA U,
%> q/7T-"q/G
L{f0r!d|
yF
XPY=EQ
(如果你前面没有调用过该组件的话,则无须重启,就可以看到效果了,否则请重 t]t(/x#
启后看效果。) 'Um\m
这时候我们看看还是用原来的调用方法的结果: <ihJp^kgQ
BW`Tw^j
以下是代码片段: p)7U%NMc(*
<%@ Language=Vbscript%> A8nf"mRD:
<% k~Y_%#_
Set Fs=Server.CreateObject("Scripting.FileSystemObject") mk-L3H1@J3
%> tpV61L
0a$hK9BH
ewYk>
8(6mH'^y
这时候的运行结果为: n?^X/R.22
服务器对象 错误 'ASP 0177 : 800401f3' vO;:~
rt! lc-g%/
Server.CreateObject 失败 zW95qxXg
65c#he[_Y
/aspimage/testfile2.asp, 行3 u"q!p5P%q
Qz A)HDQ
800401f3 f,+ONV]5Tt
(OK,达到我们的要求) (aq^\#9btO
该方法由于本人迟了两步,结果就让别人抢着回答了,这样极大的刺激了我,结 y9GaxW*&