此頁面討論將數據儲存在登錄中的安全性影響。
權限
將機密資訊(例如密碼)以明文形式儲存在登錄中是不安全的,即使登錄受到ACL(存取控制清單)的保護也是如此。
操作註冊表可能會危害安全性,因為這可能允許不當地存取系統資源或受保護的資訊。 若要使用這些屬性,您必須具有列舉的 RegistryPermissionAccess 讀取和寫入許可權,以控制登錄變數的存取權。 任何以完全信任執行的程式代碼(在預設安全策略下,這是安裝在使用者本機硬碟上的任何程序代碼),都有存取登錄的必要許可權。 如需詳細資訊,請參閱 RegistryPermission 類別。
登錄變數不應該儲存在程式碼無法 RegistryPermission 存取的記憶體位置。 同樣地,授與許可權時,授與完成作業所需的最低許可權。
RegistryPermissionAccess枚舉定義了登錄許可權存取值。 下表詳細說明其成員。
| 價值觀 | 存取登錄變數 |
|---|---|
AllAccess |
建立、讀取和寫入 |
Create |
創造 |
NoAccess |
沒有存取權 |
Read |
參閱 |
Write |
書寫 |
檢查登錄機碼中的值
當您建立登錄值時,必須決定該值已經存在時該怎麼做。 另一個進程,可能是惡意的,可能已經建立了該值並擁有訪問權限。 當您將數據放入登錄值時,數據可供其他進程使用。 若要避免這種情況,請使用 GetValue 方法。 如果索引鍵不存在,則會傳 Nothing 回 。
這很重要
從 Web 應用程式讀取註冊表時,目前使用者的身分識別取決於在 Web 應用程式中實作的驗證和模擬。