網絡森林@資訊空間's Archiver

ertebewwr1526 發表於 2013-1-30 20:36

Win2000伺服器中的FSO解決方案

ASP 執行時,是以“IUSR_機器名”的身份訪問硬碟的,這裏沒給該用戶帳號許可權,ASP 也就不能讀寫硬碟上的檔了。

解決方法:在伺服器上打開資源管理器,用滑鼠右鍵點擊asp檔所在目錄或硬碟分區,選擇“屬性”,選擇“安全”選項卡,此時就可以看到有哪些帳號可以訪問這個目錄,分區(卷)及訪問許可權。默認安裝後,出現的是“Everyone”具有完全控制的許可權。點“添加”,將“IUSR_機器名”給予“完全控制”或相應的許可權。

這樣做有一定的安全隱患,因為通過fso可以獲得讀寫檔的許可權,容易被駭客利用,下麵是一種方法。

我們知道,除了CreateObject方法以外,也可以使用一般的標注建立一個組件,我們可以在ASP裏面使用HTML

Runat表示是在服務端執行,Scope表示組件的生命週期,可以選用Session,Application或page(表示當前頁面,也可缺省)  

我們也可以通過修改該Clsid的值而禁用該組件,如將註冊表中HKEY_CLASSES_ROOTScripting.FileSystemObjectCLSID的值0D43FE01-F093-11CF-8940-00A0C9054228改成0D43FE01-F093-11CF-8940-00A0C9054229(改了最後面一位),這時候的寫法為:

CF-8940-00A0C9054229">

看運行結果,沒問題,OK。這時候我們再用CF-8940-00A0C9054228">這時候就出錯了。

新建一用戶:iusr_domain

IIS裏設置對應站點的匿名用戶IUSR_DOMAIN

CACLS: 設置目錄許可權

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

預防的辦法:

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

在MS-DOS狀態下麵鍵入:

Regsvr32 /u c:windowssystemscrrun.dll

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

頁: [1]

Powered by Discuz! Archiver 7.0.0  © 2001-2009 Comsenz Inc.