2011-08-04 3 views
1

웹 사이트에 대한 SSL 인증서가있는 경우 ViewState를 디코딩하기가 더 어려워야합니다. 추가 개발 없이는 ASP.NET이 기본 64 문자열로 인코딩합니다. 나는이 숨겨진 필드 "__VIEWSTATE"를 쉽게 해독 할 수있는 몇 가지 샘플 코드를 발견했습니다. SSL이 (다른 것들과 함께) 이것을 암호화하지 않습니까?SSL 인증서를 사용할 때 ASP.NET보기 상태 숨김 필드를 암호화/인코딩해야합니까?

추신 :이 질문을 올릴 수있는 잘못된 사이트 인 경우 알려 주시기 바랍니다. 또한 보안 사이트에서도이 기능을 사용할 수 있지만 웹 응용 프로그램과 ASP.NET에 대해 얼마나 많이 알고 있는지 알지 못합니다.

답변

4

SSL은 전송 동안 데이터를 암호화합니다. 뷰 상태를 포함하여 서버와 브라우저간에 데이터가 이동하는 경우.

필요성을 느끼는 경우 페이지에서 더 많은 작업을 수행해야합니다. 브라우저가 페이지를보고있는 시점에서 브라우저로 안전하게 전송되었습니다. 브라우저를 사용하는 사람으로부터 뷰 상태를 보호해야한다고 생각하십니까?

+0

아, 그 점을 이해합니다. 어쨌든 거기에있는 모든 데이터가 해당 사용자에게 표시됩니다 (제 상황 - 하하라고 생각합니다). 따라서 제 경우에는 필요하다고 생각하지 않습니다. 따라서 viewstate에 전역 데이터 (또는보고있는 데이터의 범위를 벗어나는 데 필요한 중요한 정보)가있는 경우에만 ASP.NET에서 이미 수행 한 작업을 암호화하여이를 볼 수도 없습니다 브라우저 HTML 소스에 있습니까? – MacGyver

+1

@ Mr. MacGyver - 저장하는 데이터가 본질적으로 민감한 경우 ViewState에 저장하면 안됩니다. 글로벌인지 아닌지는 중요하지 않습니다. – Oded

+0

컨트롤의 EnableViewState 특성을 확인해야합니다. 우리는 분명히 거기에 사회 보장 번호를 가지고 있지만 그것이 viewstate에 있는지 확실하지 않습니다. – MacGyver

1

You should not store sensitive data in the ViewState, ever!


부록

당신이 ViewState에 민감한 데이터를 저장하지 않는 경우, 암호화 또는 암호 해독에 대해 걱정하지 마십시오. 불필요한 오버 헤드가 추가됩니다.

+0

OP는 중요한 데이터를 ViewState에 저장하는 것에 대해 아무것도 말하지 않습니다. – Oded

+0

"OP"는 무엇을 나타 냅니까? – MacGyver

+0

@ Mr. MacGyver [Original Poster] (http://www.internetslang.com/OP.asp) –

관련 문제