查看單個文章
舊 2006-04-22, 07:11 PM   #2 (permalink)
psac
榮譽會員
 
psac 的頭像
榮譽勳章
UID - 3662
在線等級: 級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時
註冊日期: 2002-12-07
住址: 木柵市立動物園
文章: 17381
現金: 5253 金幣
資產: 33853 金幣
預設

給你的FileSystemObject對像加把鎖
現在國內提供支持ASP的免費空間越來越多了,對於ASP愛好者來說無疑是個好的勢頭,但是很多提供免費ASP空間的站點都沒有對FileSystemObject這個對象做出任何限制,這也就導致了安全問題。比如,今年愚人節「東莞視窗」所有的主頁都遭到了黑客的攻擊,其實做這件事情很簡單,就是使用FileSystemObject對象,具體的程序就不再討論了。而另外一個比較有名的提供ASP空間的站點「網界」同樣也存在這個安全漏洞,很容易遭到攻擊。不僅僅是這些提供免費空間的站點存在這個安全漏洞,很多國內的虛擬主機提供商同樣也存在這個安全隱患。這樣給商業用戶帶來的危害就很大了。

  那麼我們如何才能限制用戶使用FileSystemObject對象呢?一種極端的做法是完全反註冊掉提供FileSystemObject對象的那個元件,也就是Scrrun.dll。具體的方法如下:

  在MS-DOS狀態下面按鍵輸入:

Regsvr32 /u c:\windows\system\scrrun.dll

(注意:在實際操作的時候要更改成為你本機的實際路徑)

  但是,顯而易見,如果這樣做,那麼包括站點系統管理員在內的任何人都將不可以使用FileSystemObject對象了,這其實並不是站點管理人員想要得到的結果,畢竟我們使用這個對象可以實現方便的在線站台管理,如果連繫統管理員都沒法使用了,那可就得不償失了,但是不禁止這個危險的對象又會給自己的站點帶來安全漏洞。那麼有沒有兩全其美的方法呢?有!具體方法如下:

  我們可以做到禁止他人非法使用FileSystemObject對像,但是我們自己仍然可以使用這個對象.

  方法如下:

  搜尋註冊表中

   HKEY_CLASSES_ROOT\Scripting.FileSystemObject 鍵值

  將其更改成為你想要的字串串(右鍵-->"重新命名",比如更改成為


   HKEY_CLASSES_ROOT\Scripting.FileSystemObject2


  這樣,在ASP就必須這樣引用這個對象了:

   Set fso = CreateObject("Scripting.FileSystemObject2"

  而不能使用:

   Set fso = CreateObject("Scripting.FileSystemObject"

  如果你使用通常的方法來使用FileSystemObject對象就會無法使用了。

  哈哈,只要你不告訴別人這個更改過的對象名稱,其他人是無法使用FileSystemObject對象的。這樣,作為站點管理者我們就杜絕了他人非法使用FileSystemObject對象,而我們自己仍然可以使用這個對象來方便的實現網站在線管理等等功能了!

(以上方法在Win98+PWS以及WinNT4+IIS4環境下測試通過)
__________________
http://bbsimg.qianlong.com/upload/01/08/29/68/1082968_1136014649812.gif
psac 目前離線  
送花文章: 3, 收花文章: 1631 篇, 收花: 3205 次