2012-07-30 2 views
3

다음 열이있는 DataGrid가 있다고 가정 해 봅니다.모범 사례 - DataGrid 열을 숨기는 보안 문제

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는 데이터베이스 참조 용일 뿐이며 암호는 암호 변경을위한 참조 용 일뿐입니다. 프로그램 및 데이터베이스의 무결성에 의문을 제기 할 수있는 것은 없습니다. –