2011-08-23 19 views
4

일부 보안 문제 때문에 View State Encryption을 활성화해야합니다. 내가 viewstate & viewstateMAC 해제되어 있지만 __VIEWSTATE 양식 매개 변수에 포함 된 "control state"문자열을 암호화해야합니다.viewStateEncryptionMode = "항상 암호화하지 않음"

현재 내 Web.config를 보이는 같은 :

<pages enableViewState="false" enableViewStateMac="false" viewStateEncryptionMode="Always"> 

내가 내 IIS 6에서 동일한 변경하면 : 내가 카시니에, 내 viewstate가 암호화되어 다음 세트

<pages enableViewState="false" enableViewStateMac="false"> 

서버, 아무 일도 일어나지 않습니다.

응용 프로그램 도메인 재활용 (이벤트 : 응용 프로그램 '/ LM/W3SVC/...'은 'C : ...'에 있으며 도메인 '...'으로 초기화 됨)을 참조하십시오. web.config를 만지면 cassini처럼 암호화 된 viewstate를 얻지 못합니다. 사이트 중지/시작, IIS 재설정 중지/시작, ASP.NET 임시 파일 캐시 지우기를 시도했습니다. 누구든지이 구성을 위해 수행해야 할 작업에 대한 제안 사항이 있습니까?

+0

(나는이에게 물었다 [이전] (http://stackoverflow.com/questions/6598199/asp-net-viewstate-encryption-issue)하지만 포스트는있어 조금 너무 자세히 설명해 드리겠습니다.이 문제를 다시 검토하면서 간단 해졌습니다!) – felickz

+0

질문에 대답하지 않지만 보안 문제가 있으므로 enableViewStateMac을 false로 설정하면 안됩니다. 'ViewStateUserKey' 속성을 사용하여 CSRF 공격 (암호화 된보기 상태에서도 발생할 수 있음)으로부터 당신을 보호 할 수 있습니다. 아니면 더 나은,이 플러그인을 사용하십시오 : http://anticsrf.codeplex.com/. – Steven

+0

왜 enableViewState를 false로 설정 했습니까? –

답변

6

이와 비슷한 문제가 발생하여 사이트를 미리 컴파일하면 페이지의 web.config 노드가 무시됩니다. 이 설정을 컴파일 할 때 설정하여 작동 시키십시오. 나는 이것이 늦은해라는 것을 알고 있지만 누군가가이 문제에 대한 해결책을 찾기 위해 여기에 오는 경우 이것이 유용한 정보 일 수 있다고 생각합니다.

이것에 대해 약간의 추천 ​​광고 : http://blogs.msdn.com/b/asiatech/archive/2011/07/19/pages-settings-don-t-work-for-pre-compiled-asp-net-applications.aspx

+0

정확히 우리가 "업데이트 된 옵션을 사용하여 미리 컴파일 된 ASP.Net 응용 프로그램을 배포 한 방법"및 매우 내 문제 였을 가능성이 높습니다. 절대로 너무 늦어서 대답 해줘! – felickz