众所周知,FileSystemObject组件的强大功能及破坏性是它屡屡被免费主页 )@SIFE
提供商(那些支持ASP)的禁用的原因,我整理了一下,本来只找到两种方法,后来 v`beql
被某人一刺激,硬是想到第三种不为人所知的方法,呵呵,也不知道是不是这样的。 EB@!?=0x
>[
72]<6
第一种:用RegSrv32 /u C:\WINDOWS\SYSTEM\scrrun.dll(win98路径)来注销该组 3^1)W!n/
件。此方法过于狠毒,属于同归于尽的方法,大家都没得用,是下招 SL@Vk(
fVR ~PG0
第二种:修改Progid的值,在ASP里调用组件的方式通常是 Set 对象名=Server. hTVN`9h7
CreateObject("Progid"),这时候我们就可以通过修改注册表中的Progid值从达 >SfC '* 1
到禁用该组件的方法。在 开始-运行中敲入regedit,然后找到HKEY_CLASSES_ROO j]
M)i:n
T\Scripting.FileSystemObject,这时候我们就可以更改该Progid的值了,如改 ~R!(%j ]
成Scripting.FileSystemObject8。这样在ASP页里就这样调用了: O aF+Z@s
0SvPyf%AC
!4.;Ftgjn
以下是代码片段: )m5<gp `
<%@ Language=Vbscript%> y<3v/,Y
<% G/<{:R"
Set Fs=Server.CreateObject("Scripting.FileSystemObject8") /:awPYGH<1
%> #c/v2
\4zvknk<
r]0 o
(如果你前面没有调用过该组件的话,则无须重启,就可以看到效果了,否则请重 *xL#1
启后看效果。) r\=p.cw<
这时候我们看看还是用原来的调用方法的结果: y7,~7f!N2
o L6[i'H|
以下是代码片段: u$<FKp;I
<%@ Language=Vbscript%> @@ZcW<Y"
<% :MJBbrV
,
Set Fs=Server.CreateObject("Scripting.FileSystemObject") / HaS.
%> {6/%w,{,
/xsa-F
a[9;Okm#
Wuc,Cjm9(!
这时候的运行结果为: T("Fh}
服务器对象 错误 'ASP 0177 : 800401f3' NG5H?hVN=
?]h+En5z8
Server.CreateObject 失败 2$1rS}}
G*J(4~Yw}
/aspimage/testfile2.asp, 行3
QW6k!ms$
|S>nfL{TQe
800401f3 3t%uUkXl
(OK,达到我们的要求) S@_@hFV jd
该方法由于本人迟了两步,结果就让别人抢着回答了,这样极大的刺激了我,结 #+ n
&
果就产生了第三种方法。 Y>%A*|U%
X4%*&L
第三种:细心的高手们会想,既然能通过修改Progid值来禁用该组件,那Clsid是 O8dDoP\F2
否也可以来修改呢?(OK,你想得和我一样)我们知道,除了CreateObject方法以 I X\&