那么我們如何才能限制用戶使用FileSystemObject對象呢?一種極端的做法是完全反注冊掉提供FileSystemObject對象的那個組件,也就是Scrrun.dll。具體的方法如下:
在MS-DOS狀態下面鍵入:
Regsvr32 /u c:windowssystemscrrun.dll
(注意:在實際操作的時候要更改成為你本地的實際路徑)
但是,顯而易見,如果這樣做,那么包括站點系統管理員在內的任何人都將不可以使用FileSystemObject對象了,這其實并不是站點管理人員想要得到的結果,畢竟我們使用這個對象可以實現方便的在線站臺管理,如果連系統管理員都沒法使用了,那可就得不償失了,但是不禁止這個危險的對象又會給自己的站點帶來安全漏洞。那么有沒有兩全其美的方法呢?有!具體方法如下:
我們可以做到禁止他人非法使用FileSystemObject對象,但是我們自己仍然可以使用這個對象.
方法如下:
查找注冊表中
HKEY_CLASSES_ROOTScripting.FileSystemObject 鍵值
將其更改成為你想要的字符串(右鍵-->"重命名"),比如更改成為
HKEY_CLASSES_ROOTScripting.FileSystemObject2
這樣,在ASP就必須這樣引用這個對象了:
Set fso = CreateObject("Scripting.FileSystemObject2")
而不能使用:
Set fso = CreateObject("Scripting.FileSystemObject")
如果你使用通常的方法來調用FileSystemObject對象就會無法使用了。
呵呵,只要你不告訴別人這個更改過的對象名稱,其他人是無法使用FileSystemObject對象的。這樣,作為站點管理者我們就杜絕了他人非法使用FileSystemObject對象,而我們自己仍然可以使用這個對象來方便的實現網站在線管理等等功能了!
(以上方法在Win98+PWS以及WinNT4+IIS4環境下測試通過)