2009-07-23 2 views
2

ASP.NET에서 ViewState는 일반적으로 클라이언트의 변조를 방지하고 서버의 컴퓨터 보안에 의해 생성 된 서명을 사용합니다. ,EnableViewStateMac이 런타임에 설정되었는지 확인하는 방법은 무엇입니까?

<%@ Page ... EnableViewStateMac="false" %> 

내가 가 보안에 민감한 정보 저장 (비밀하지 ...하지만이 훼손되어서는 안)을 시사하는 ASP.NET 컨트롤을 쓰고 있어요 :하지만이 보호는 쉽게로 해제 할 수 있습니다 EnableViewStateMac이 true인지 여부에 따라

런타임에 실행 여부를 테스트하려면 어떻게해야합니까?

답변

3

당신은 당신의 코드 내에서

Page.EnableViewStateMac 

를 참조 할 수 있어야한다.

http://msdn.microsoft.com/en-us/library/system.web.ui.page.enableviewstatemac.aspx

+0

와우. 이것은 Intellisense에 무언가가 존재하지 않는다면 일부 개발자는 그것이 전혀 존재하지 않는다고 생각합니다. 이 속성은 갈 수있는 완벽한 장소입니다. 그러나 속성에는 Intellisense가 노출하지 않도록 [EditorBrowsable (EditorBrowsableState.Never)]가 설정되어 있습니다. 어쨌든, 감사합니다! –

1

당신은 this.Page를 사용하여 확인할 수 있습니다. 위의 link

에서의 enableViewStateMac

참고 코드에서이 속성을 설정하지 마십시오. .aspx 파일에서 @ Page 지시문을 사용하여 EnableViewStateMac 특성을 설정하십시오. 페이지가 요청되면 동적으로 생성 된 클래스가 속성을 설정합니다.


뷰 상태 MAC은 페이지가 브라우저로 전송 될 때 페이지의 뷰 상태가 유지되는 숨겨진 변수의 암호화 된 버전입니다. 이 속성을 true로 설정하면 암호화 된보기 상태가 검사되어 클라이언트에서 변경되지 않았 음을 확인합니다.

관련 문제