萬盛學電腦網

 萬盛學電腦網 >> 電腦常見故障 >> 不能上網 >> Win2000服務器中FSO的解決方案

Win2000服務器中FSO的解決方案

ASP 執行時,是以“IUSR_機器名”的身份訪問硬盤的,這裡(電腦自動關機)沒給該用戶帳號權限,ASP 也就不能讀寫硬盤上的文件了。

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

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

我們知道,除了CreateObject方法以外,也可以使用一般的標注建立一個組件,我們可以在ASP裡(電腦自動關機)面使用HTML

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

我們也可以通過修改該Clsid的值而禁用該組件,如將注冊表中HKEY_CLASSES_ROOT\Scripting.FileSystemObject\CLSID的值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:\windows\system\scrrun.dll

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


Win2000服務器中FSO的解決方案
copyright © 萬盛學電腦網 all rights reserved