現(xiàn)在國內(nèi)提供支持ASP的免費空間越來越多了,對于ASP愛好者來說無疑是個好的勢頭,但是很多提供免費ASP空間的站點都沒有對FileSystemObject這個對 象做出任何限制,這也就導(dǎo)致了安全問題。比如,今年愚人節(jié)“東莞視窗”所有的主頁都遭到了黑客的攻擊,其實做這件事情很簡單,就是使用FileSystemObject對象, 具體的程序就不再討論了。而另外一個比較有名的提供ASP空間的站點“網(wǎng)界”同樣也存在這個安全漏洞,很容易遭到攻擊。不僅僅是這些提供免費空間的站點存在這個 安全漏洞,很多國內(nèi)的虛擬主機(jī)提供商同樣也存在這個安全隱患。這樣給商業(yè)用戶帶來的危害就很大了。 那么我們?nèi)绾尾拍芟拗朴脩羰褂肍ileSystemObject對象呢?一種極端的做法是完全反注冊掉提供FileSystemObject對象的那個組件,也就是Scrrun.dll。具體的方 法如下: 在MS-DOS狀態(tài)下面鍵入: Regsvr32 /u c:\windows\system\scrrun.dll (注意:在實際操作的時候要更改成為你本地的實際路徑) 但是,顯而易見,如果這樣做,那么包括站點系統(tǒng)管理員在內(nèi)的任何人都將不可以使用FileSystemObject對象了,這其實并不是站點管理人員想要得到的結(jié)果,畢竟 我們使用這個對象可以實現(xiàn)方便的在線站臺管理,如果連系統(tǒng)管理員都沒法使用了,那可就得不償失了,但是不禁止這個危險的對象又會給自己的站點帶來安全漏洞。那么 有沒有兩全其美的方法呢?有!具體方法如下: 我們可以做到禁止他人非法使用FileSystemObject對象,但是我們自己仍然可以使用這個對象. 方法如下: 查找注冊表中 HKEY_CLASSES_ROOT\Scripting.FileSystemObject 鍵值 將其更改成為你想要的字符串(右鍵-->"重命名"),比如更改成為 HKEY_CLASSES_ROOT\Scripting.FileSystemObject2 這樣,在ASP就必須這樣引用這個對象了: Set fso = CreateObject("Scripting.FileSystemObject2") 而不能使用: Set fso = CreateObject("Scripting.FileSystemObject") 如果你使用通常的方法來調(diào)用FileSystemObject對象就會無法使用了。 呵呵,只要你不告訴別人這個更改過的對象名稱,其他人是無法使用FileSystemObject對象的。這樣,作為站點管理者我們就杜絕了他人非法使用FileSystemObject 對象,而我們自己仍然可以使用這個對象來方便的實現(xiàn)網(wǎng)站在線管理等等功能了! (以上方法在Win98+PWS以及WinNT4+IIS4環(huán)境下測試通過)
|