2012-07-30 39 views
3

假設我有一個包含以下列的數據網格;最佳實踐 - 隱藏數據網格列的安全問題

DataTable dataTable66 = new DataTable(); 

     DataColumn colDescription = new DataColumn("userID"); 
     dataTable66.Columns.Add(colDescription); 
     DataColumn colActive = new DataColumn("Username"); 
     dataTable66.Columns.Add(colActive); 
     DataColumn colPass = new DataColumn("Password"); 
     dataTable66.Columns.Add(colPass); 
     DataColumn colRole = new DataColumn("Role"); 
     dataTable66.Columns.Add(colRole); 

我創建了一個數據網格,並易於使用的我選擇有密碼和用戶ID列,但要知道,因爲我想隱藏從最終用戶的這些細節,只是用它們作爲參考在我的程序中(例如更新到數據庫),我選擇通過via隱藏這些列;

datagrid.Columns[0].Visible = false; 
    datagrid.Columns[2].Visible = false; 

就開發人員/數據庫而言,是否會造成任何安全風險?很顯然,密碼本身就是密碼的散列,使用我選擇的任何加密方法,但用戶是否可以找到獲取這些現在存儲在DataTable/DataGrid中的細節的方法?

回答

5

如果用戶附加了像WinDbg這樣的工具,或者如果他們傾銷了該進程,那麼瀏覽DataTable(或任何其他數據結構)將很容易。這是否代表您的應用程序的風險?我想你是處於評估這個狀態的最佳位置。用戶可以用這些信息做什麼?

+0

我猜的確實不是很多,用戶ID只是用於數據庫引用,而密碼散列只是更改密碼的參考。沒有什麼可以質疑程序及其數據庫的完整性。 – 2012-07-30 12:05:41