遠端登錄檔訪問 (轉)
遠端登錄檔訪問 (轉)[@more@] 登錄檔訪問
<!--指南-->
登錄檔訪問(Registry Access控制元件)是一個用VC編寫的Server Component,它封裝了對登錄檔的所有操作,通常用來擴充套件VB或其它程式設計工具的登錄檔訪問功能。管理員可以把它嵌入頁面中,從而實現對或遠端主機的登錄檔系統進行維護。這是一個免費控制元件,可以從的站點上。
RAC有Alpha和i386兩個版本,名都叫Reg.dll。使用時根據自己的平臺選擇其中一個,然後用如下DOS命令進行註冊:
Regsvr32 Reg.dll /s
RAC一共有12個方法,透過它們可以對登錄檔的鍵和屬性值進行新增、刪除、查詢、複製等操作。下面將介紹RAC在VB和ASP中的應用,並討論如何解決潛在的問題。
一、RAC在VB中的應用
首先在專案的引用列表中加入IISSample Registry Access 庫,然後用如下語句定義一個登錄檔物件:
Dim Reg As New RegistryAccess.CregObj
對登錄檔的所有操作都可以透過Reg物件的方法來完成,例如:
1.讀取登錄檔
下面的語句顯示了虛擬機器的類路徑:
De.Print Reg.Get(″HKLMSoftwareJava VMClasspath″)
讀取登錄檔的另一個方法是GetExpand,它可以讀取REG—EXPAND—SZ、 REG—D和REG—SZ型別的屬性值,GetExpand和Get的區別在於:GetExpand會把返回值中的環境變數替換為實際值,在 NT下,%System%將被替換為:C:Winnt,而Get則不會。若要把登錄檔中環境變數直接替換為實際值,可以用ExpandString方法。
2.修改登錄檔
下面的命令將HKLMSoftwareAlexander鍵下的Name屬性值改為JQ:
Reg.Set ″HKLMSoftwareAlexanderName″, ″JQ″, True
類似的方法還有SetExpand,它把登錄檔屬性值的資料型別設定為:REG—EXPAND—SZ,表示其中包含環境變數,可以用GetExpand擴充套件。
以上例子中,HKLM是HKEY—LOCAL—MACHINE縮寫,最後一個引數為True表示將修改立即寫回登錄檔,而不是留在緩衝區。
其餘幾個方法是:CopyKey(複製鍵)、DeleteKey(刪除鍵)、DeleteValue(刪除屬性值)、ValueType(判斷屬性值的資料型別)、KeyExists(判斷一個鍵是否存在),它們的用法比較簡單,這裡不一一介紹。
最後,在退出之前,別忘了用如下語句銷燬登錄檔物件:
Set Reg = Nothing ′Reg.dll仍駐留
二、透過RAC訪問遠端主機的登錄檔
微軟開發RAC的主要目的就是為了擴充套件ASP的登錄檔訪問功能,以便對遠端主機的登錄檔系統進行維護。
RAC在ASP指令碼中的用法和VB幾乎完全一樣,只是物件建立的方式稍有不同,下面是一段ASP指令碼:
〈%
Set Reg = Server.Create(″IISSample.RegistryAccess″)′建立伺服器物件
Reg.Set ″HKLMSoftware MyCompany MyNumber″, 12345, True
Reg.Set ″HKLMSoftwareMyComp anyMyString″, ″hello, world″
MyReg.DeleteKey ″HKEY—CURRENT—USER MyCompany″%〉
它為MyCompany鍵新增了兩個屬性,並刪除HKCUSoftware的子鍵MyCompany。如果你的Web伺服器交由別人託管,那麼透過RAC對其登錄檔進行遠端維護是值得推薦的。但是,作為員,你應該充分考慮到上面這段指令碼後可能帶來的後果!預設情況下,匿名IUSR—machinename也能執行這段指令碼,因此也就能對登錄檔進行修改,這是不安全的,對登錄檔的誤操作可能導致系統不可用。
所以,系統管理員應該取消所有涉及登錄檔修改的ASP檔案的匿名訪問權,這樣,當客戶請求到這些檔案時,Web伺服器就會觸發的盤問和應答,要求輸入使用者名稱和密碼,只有透過驗證後,ASP檔案才能執行,登錄檔才會被修改。若ASP檔案存放在NTFS捲上,你也可以把它們的訪問權授予特定的域使用者或組,其它的使用者就無權訪問。
<!--指南-->
登錄檔訪問(Registry Access控制元件)是一個用VC編寫的Server Component,它封裝了對登錄檔的所有操作,通常用來擴充套件VB或其它程式設計工具的登錄檔訪問功能。管理員可以把它嵌入頁面中,從而實現對或遠端主機的登錄檔系統進行維護。這是一個免費控制元件,可以從的站點上。
RAC有Alpha和i386兩個版本,名都叫Reg.dll。使用時根據自己的平臺選擇其中一個,然後用如下DOS命令進行註冊:
Regsvr32 Reg.dll /s
RAC一共有12個方法,透過它們可以對登錄檔的鍵和屬性值進行新增、刪除、查詢、複製等操作。下面將介紹RAC在VB和ASP中的應用,並討論如何解決潛在的問題。
一、RAC在VB中的應用
首先在專案的引用列表中加入IISSample Registry Access 庫,然後用如下語句定義一個登錄檔物件:
Dim Reg As New RegistryAccess.CregObj
對登錄檔的所有操作都可以透過Reg物件的方法來完成,例如:
1.讀取登錄檔
下面的語句顯示了虛擬機器的類路徑:
De.Print Reg.Get(″HKLMSoftwareJava VMClasspath″)
讀取登錄檔的另一個方法是GetExpand,它可以讀取REG—EXPAND—SZ、 REG—D和REG—SZ型別的屬性值,GetExpand和Get的區別在於:GetExpand會把返回值中的環境變數替換為實際值,在 NT下,%System%將被替換為:C:Winnt,而Get則不會。若要把登錄檔中環境變數直接替換為實際值,可以用ExpandString方法。
2.修改登錄檔
下面的命令將HKLMSoftwareAlexander鍵下的Name屬性值改為JQ:
Reg.Set ″HKLMSoftwareAlexanderName″, ″JQ″, True
類似的方法還有SetExpand,它把登錄檔屬性值的資料型別設定為:REG—EXPAND—SZ,表示其中包含環境變數,可以用GetExpand擴充套件。
以上例子中,HKLM是HKEY—LOCAL—MACHINE縮寫,最後一個引數為True表示將修改立即寫回登錄檔,而不是留在緩衝區。
其餘幾個方法是:CopyKey(複製鍵)、DeleteKey(刪除鍵)、DeleteValue(刪除屬性值)、ValueType(判斷屬性值的資料型別)、KeyExists(判斷一個鍵是否存在),它們的用法比較簡單,這裡不一一介紹。
最後,在退出之前,別忘了用如下語句銷燬登錄檔物件:
Set Reg = Nothing ′Reg.dll仍駐留
二、透過RAC訪問遠端主機的登錄檔
微軟開發RAC的主要目的就是為了擴充套件ASP的登錄檔訪問功能,以便對遠端主機的登錄檔系統進行維護。
RAC在ASP指令碼中的用法和VB幾乎完全一樣,只是物件建立的方式稍有不同,下面是一段ASP指令碼:
〈%
Set Reg = Server.Create(″IISSample.RegistryAccess″)′建立伺服器物件
Reg.Set ″HKLMSoftware MyCompany MyNumber″, 12345, True
Reg.Set ″HKLMSoftwareMyComp anyMyString″, ″hello, world″
MyReg.DeleteKey ″HKEY—CURRENT—USER MyCompany″%〉
它為MyCompany鍵新增了兩個屬性,並刪除HKCUSoftware的子鍵MyCompany。如果你的Web伺服器交由別人託管,那麼透過RAC對其登錄檔進行遠端維護是值得推薦的。但是,作為員,你應該充分考慮到上面這段指令碼後可能帶來的後果!預設情況下,匿名IUSR—machinename也能執行這段指令碼,因此也就能對登錄檔進行修改,這是不安全的,對登錄檔的誤操作可能導致系統不可用。
所以,系統管理員應該取消所有涉及登錄檔修改的ASP檔案的匿名訪問權,這樣,當客戶請求到這些檔案時,Web伺服器就會觸發的盤問和應答,要求輸入使用者名稱和密碼,只有透過驗證後,ASP檔案才能執行,登錄檔才會被修改。若ASP檔案存放在NTFS捲上,你也可以把它們的訪問權授予特定的域使用者或組,其它的使用者就無權訪問。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-990313/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 開啟mysql遠端登入訪問功能MySql
- 【轉】允許遠端使用者登入訪問mysql的方法MySql
- 遠端資料庫的訪問 (轉)資料庫
- 怎樣在VC++中訪問和修改登錄檔 (轉)C++
- 在VC++中訪問和修改系統登錄檔 (轉)
- Redis遠端訪問Redis
- 在CentOS中配置VNC實現遠端登入訪問CentOSVNC
- TeamViewer遠端訪問View
- oracle database增加密碼檔案,遠端sys訪問。OracleDatabase加密密碼
- rabbitmq 新增遠端訪問功能MQ
- 遠端訪問及控制——ssh
- Linux SSH遠端訪問Linux
- PostgreSQL 9.6 配置遠端訪問SQL
- SSH遠端訪問及控制
- X window遠端登入(轉)
- linux遠端訪問問題薦Linux
- 遠端客戶端 訪問 ASM 例項客戶端ASM
- mysql如何允許遠端訪問MySql
- jupyter notebook 遠端訪問
- mysql賬戶新增遠端訪問MySql
- NAS如何實現遠端訪問
- 遠端訪問jupyter notebook
- django:runserver實現遠端訪問DjangoServer
- Docker 如何開啟遠端訪問Docker
- vnc遠端訪問,推薦四款免費又好用的vnc遠端訪問軟體VNC
- 訪問jboss上EJB遠端介面問題
- 遠端登入和複製檔案
- aix 遠端登陸緩慢問題AI
- 遠端訪問技術指什麼
- 遠端訪問技術是什麼
- postgresql遠端不能訪問 - PostgreSQL9.4.5SQL
- 模擬ip訪問(附模擬手機訪問)遠端地址
- Windows 98 登錄檔妙用(轉)Windows
- 121 TeamViewer 遠端支援、遠端訪問、線上協作和會議View
- mysql實現遠端訪問,phpmyadmin實現遠端連線mysqlMySqlPHP
- linux下使用yum安裝mysql,以及啟動、登入和遠端訪問LinuxMySql
- mysql5.7.22-log 修改遠端訪問MySql
- Redis 入門 - 0(安裝、遠端訪問)Redis