首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

Effective C# 原則 47:選擇安全的程式碼 (2) - 隔離儲存與安全性最佳實踐

     編輯:關於C語言

隔離儲存的讀取操作

隔離儲存的讀取操作與一般檔案 I/O 相似,以下範例示範如何讀取儲存的資料:

IsolatedStorageFile isoStore = IsolatedStorageFile.GetUserStoreForDomain();
string[] files = isoStore.GetFileNames("SavedStuff.txt");
if (files.Length > 0)
{
    StreamReader reader = new StreamReader(
        new IsolatedStorageFileStream("SavedStuff.txt", FileMode.Open, isoStore));
    // 多次呼叫 reader.ReadLine() 略
    reader.Close();
}

隔離儲存的特性與限制

隔離儲存適合持久化適當大小的資料元素,允許部分受信任的程式碼在安全隔離的本機磁碟區域儲存與載入資訊。.NET 環境為每個應用程式定義並限制隔離儲存的大小,防止惡意程式碼佔用磁碟空間導致系統不可用。

重要特性:

  • 隔離性:對其他程式和使用者不可見
  • 配額限制:.NET 強制限制每個應用程式的儲存空間
  • 不適用場景:不適合需要管理員手動部署或配置設定的情況

安全性考量

警告:即使隔離儲存是隱藏的,它對來自受信任使用者的非受控程式碼也不受保護。請勿用於儲存高度機密內容,除非您的程式已對其加密。

何時使用隔離儲存

  • 建立可能需要安全性原則權限的組件時
  • 組件可能在 Web 上執行,或被在 Web 上執行的程式碼存取時

受保護資源的存取原則

.NET 安全模型意味著您的程式行為需經權限核對。一般來說,存取受保護資源(如登錄)要求程式碼完全受信任。最佳策略是完全避免使用這些資源,或尋找替代方案。

最小權限原則

  • 注意程式所要求的權利,並嘗試最小化它們
  • 不要求不使用的權限
  • 組件要求的受保護資源越少,安全性原則例外發生的機率越低
  • 確實需要較高安全權限時,將相關程式碼隔離到獨立組件中

遵循最小權限原則,能讓您的程式碼更安全、更容易部署,也能減少安全性例外干擾正常執行流程。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved