三種禁用FileSystemObject元件的方法 (轉)

worldblog發表於2007-12-12
三種禁用FileSystemObject元件的方法 (轉)[@more@]眾所周知,FileSystem的強大功能及破壞性是它屢屢被免費主頁
提供商(那些支援)的禁用的原因,我整理了一下,本來只找到兩種方法,後來
被某人一刺激,硬是想到第三種不為人所知的方法,呵呵,也不知道是不是這樣的。

第一種:用RegSrv32 /u C:SYSTEMscrrun.dll(路徑)來登出該組
件。此方法過於狠毒,屬於同歸於盡的方法,大家都沒得用,是下招

第二種:修改Progid的值,在ASP裡元件的方式通常是 Set 名=Server.
CreateObject("Progid"),這時候我們就可以透過修改登錄檔中的Progid值從達
到禁用該元件的方法。在 開始-執行中敲入regedit,然後找到HKEY_CLASSES_ROO
TScripting.FileSystemObject,這時候我們就可以更改該Progid的值了,如改
成Scripting.FileSystemObject8。這樣在ASP頁裡就這樣呼叫了:

Set Fs=Server.CreateObject("Scripting.FileSystemObject8")
%>
(如果你前面沒有呼叫過該元件的話,則無須重啟,就可以看到效果了,否則請重
啟後看效果。)
這時候我們看看還是用原來的呼叫方法的結果:

Set Fs=Server.CreateObject("Scripting.FileSystemObject")
%>
這時候的執行結果為:
物件 錯誤 'ASP 0177 : 800401f3'

Server.CreateObject 失敗

/aspimage/testfile2.asp, 行3

800401f3
(OK,達到我們的要求)
該方法由於本人遲了兩步,結果就讓別人搶著回答了,這樣極大的刺激了我,結
果就產生了第三種方法。

第三種:細心的高手們會想,既然能透過修改Progid值來禁用該元件,那Clsid是
否也可以來修改呢?(OK,你想得和我一樣)我們知道,除了CreateObject方法以
外,也可以使用一般的標註建立一個元件,我們可以在ASP裡面使用HTM
L的標註,以便在網頁中加入一個元件。方法是:

Runat表示是在服務端,Scope表示元件的生命週期,可以選用Session,Appl
ication或page(表示當前頁面,也可預設)
這種寫法對我們沒用,還有一種寫法是:
ect>
我們也可以透過修改該Clsid的值而禁用該元件,如將登錄檔中HKEY_CLASSES_RO
OTScripting.FileSystemObjectCLSID的值0D43FE01-F093-11CF-8940-00A0C90
54228改成0D43FE01-F093-11CF-8940-00A0C9054229(改了最後面一位),這時候的
寫法為:

看執行結果,沒問題,OK。這時候我們再用

這時候就出錯了。

新建一:iusr_ain
IIS裡設定對應站點的匿名使用者IUSR_DOMAIN
CACLS: 設定目錄

這樣可用,但不會影響別人


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-992366/,如需轉載,請註明出處,否則將追究法律責任。

相關文章