三种禁用FileSystemObject组件的方法

来源:动网 时间:2007-09-23 15:52:00 

众所周知,FileSystemObject(fso)组件的强大功能及破坏性是它屡屡被免费主页提供商(那些支持ASP)的禁用的原因,我整理了一下,本来只找到两种方法,后来被某人一刺激,硬是想到第三种不为人所知的方法,呵呵,也不知道是不是这样的。

第一种:用RegSrv32 /u C:\WINDOWS\SYSTEM\scrrun.dll(win98路径)来注销该组件。此方法过于狠毒,属于同归于尽的方法,大家都没得用,是下招

第二种:修改Progid的值,在ASP里调用组件的方式通常是 Set 对象名=Server. CreateObject("Progid"),这时候我们就可以通过修改注册表中的Progid值从达到禁用该组件的方法。在 开始-运行中敲入regedit,然后找到HKEY_CLASSES_ROO T\Scripting.FileSystemObject,这时候我们就可以更改该Progid的值了,如改成Scripting.FileSystemObject8。这样在ASP页里就这样调用了:


<%@ Language=Vbscript%>
<%
Set Fs=Server.CreateObject("Scripting.FileSystemObject8")
%>


(如果你前面没有调用过该组件的话,则无须重启,就可以看到效果了,否则请重启后看效果。)

这时候我们看看还是用原来的调用方法的结果:


<%@ Language=Vbscript%>
<%
Set Fs=Server.CreateObject("Scripting.FileSystemObject")
%>


这时候的运行结果为:
服务器对象 错误 'ASP 0177 : 800401f3'

Server.CreateObject 失败

/aspimage/testfile2.asp, 行3

800401f3

(OK,达到我们的要求)

该方法由于本人迟了两步,结果就让别人抢着回答了,这样极大的刺激了我,结果就产生了第三种方法。

第三种:细心的高手们会想,既然能通过修改Progid值来禁用该组件,那Clsid是否也可以来修改呢?(OK,你想得和我一样)我们知道,除了CreateObject方法以外,也可以使用一般的<object>标注建立一个组件,我们可以在ASP里面使用HTM L的<object>标注,以便在网页中加入一个组件。方法是:


<object runat=server id=fs1 scope=page progid="Scripting.FileSystemObject"></object>


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

这种写法对我们没用,还有一种写法是:


<object runat=server id=fs1 scope=page classid="clsid:clsid的值"></object>


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


<object runat=server id=fs1 scope=page classid="clsid:0D43FE01-F093-11CF-8940-00A0C9054229"></object>


看运行结果,没问题,OK。这时候我们再用


<object runat=server id=fs1 scope=page classid="clsid:0D43FE01-F093-11CF-8940-00A0C9054228"></object>


这时候就出错了。

新建一用户:iusr_domain
IIS里设置对应站点的匿名用户IUSR_DOMAIN
CACLS: 设置目录权限

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

标签:fso,FileSystemObject,组件
0
投稿

猜你喜欢

  • 去掉运行JavaScript时IE产生的警告栏

    2008-09-11 18:07:00
  • XMLHTTP自动判断远程网页字符编码

    2007-12-28 13:41:00
  • Javascript: 为<input>设置readOnly属性问题,希望大家以后要小心

    2009-07-23 20:24:00
  • 网页标准化-CSS命名规划整理

    2007-12-10 18:13:00
  • 了解WEB页面工具语言XML(三)支持工具

    2008-09-05 17:18:00
  • 如何在ADO中使用SQL函数?

    2010-06-17 12:51:00
  • JS中实现JAVA的hashCode算法

    2008-08-03 17:00:00
  • 细化解析:MySQL+Webmin轻松创建数据库

    2009-01-14 13:13:00
  • oracle数据库添加或删除一列的sql语句

    2012-06-06 19:46:54
  • 自然描述与自然任务

    2010-01-26 15:51:00
  • 将ASP纪录集输出成n列表格的方法

    2008-03-19 13:27:00
  • MYSQL初学者使用指南[适用自己安装mysql者]

    2007-08-06 14:53:00
  • 如何操作Access数据库?

    2009-11-11 19:23:00
  • [翻译]标记语言和样式手册 Chapter 14 图片替换

    2008-02-18 12:56:00
  • 5个充满想象力的Web调色板

    2008-08-02 12:55:00
  • sqlserver自动增长列引起的问题解决方法

    2011-10-24 19:37:28
  • 禁止在网页里面是用搜狗的云输入法

    2009-11-29 15:50:00
  • PHP结构型模式之外观模式

    2023-05-25 11:43:14
  • asp如何制作一个安全的页面?

    2010-06-29 21:22:00
  • 优化Oracle库表设计的若干方法

    2010-07-16 13:24:00
  • asp之家 网络编程 m.aspxhome.com