viewstate 암호화를 켜려고합니다. IIS6에서 호스팅되는 ASP.NET 3.5 웹 사이트의 보안 수단으로 항상을 사용하십시오. viewstate가 꺼져 있지만이 문자열에는 여전히 "controlstate"가 표시됩니다. 테스트 환경에서 나는 단지의 Web.config에 다음을 설정할 수와 나는 더 이상 64 기수 반 일반 텍스트로 viewstate가 디코딩 할 수 있습니다asp.net viewstate 암호화 문제
<pages enableViewState="false" enableViewStateMac="true" viewStateEncryptionMode="Always">
은 심지어 추가를 다음 (machine key generater에 의해 genereated) 은 Machine.config 여전히 내 테스트 서버에서 viewstate가 벌금을 암호화하기 :
<machineKey validationKey="002..." decryptionKey="D90E..." validation="SHA1" decryption="AES" />
내 비 테스트 환경은 일반 텍스트로 내가 할 수있는 항상 base64로 디코딩과 viewstate가 위의 변경 사항을 적용하지 않는 것 위의 설정으로 나는 언제나 내가 어떤 변화를 한 후에 나는 iisreset.
내 비 테스트 웹 서버에 대한 몇 가지 정보 :
- 웹 농장/부하 분산 (하지만 지금 테스트를위한 하나 개의 서버까지)는
- 는 SQL 세션 상태는 (은 Machine.config에서 machinekey는 처음 필요했다)이 설정하는
- 은 Machine.config : 배포 소매 = asp.net의 viewstate가 암호화를 방해 할 수 추가 설정을 찾아 위치를
누구나 제안 할 수 있습니다 "true"로?
EDIT : 이제 iis 테스트 서버에서 viewStateEncryptionMode 설정을 취소 할 수 없습니다.이 설정을 "Never"로 설정하고 다른 웹 사이트 중 아무 것도이 설정을 유지하지 않는 경우에도 viewstate를 암호화합니다. 이 속성이 무시되는 위치를 어디에서 볼 수 있습니까? 이 설정이 저장되는 캐시가 있습니까? iisreset/stop www service/touch machine.config 때 수행해야 할 것 이외에 지울 필요가 있습니까?
EDIT FINAL : 설정 파일을 공부 한 후에 코드를 통해이를 포기하고 구현했습니다. 페이지 이벤트에 추가하는 보안 모듈이 이미 있으므로 Page_Load에 추가되었습니다. Page.RegisterRequiresViewStateEncryption();
저는 IIS6 immediatley에서이 설정을 막지 못하는 것이 무엇인지 알고 싶습니다. 내가 언제 내가 viewexate를 인코딩하고 id = "__ VIEWSTATEENCRYPTED"로 추가 숨겨진 필드를 렌더링하는지 즉시 볼 수있는 페이지 노드를 통해 viewStateEncryptionMode를 "Always"로 설정하면 cassini를 로컬에서 실행할 때. "Never"로 설정하면 즉시 암호화가 꺼지는 것을 볼 수 있습니다. IIS6 호스팅 웹 사이트에서 웹 사이트를 똑같이 변경하면 즉시 영향을 미치지 않지만 설정을 그대로 유지하면 결국 유지됩니다. 나는 www 서비스를 멈추고/시작하고 iis를 재설정하고 ASPNET 임시 캐시를 지우 겠지만 그 밖에 무엇을 시도해야할지 모르겠다. 잘만되면이 게시물은 잠시 동안 ROT 할 수 있고, 앞으로 누군가는 내가 경험했던 것과 똑같은 행동을 보게 될 것이고 우리는 이것을 더 알아낼 수있을 것입니다!
RegisterRequiresViewStateEncryption도 내 web.config에서 명시 적으로 false로 설정 했음에도 불구하고 ViewstateMAC 유효성 검사를 켭니다. 내 사이트는 WebForms의 맨 위에있는 사용자 지정 "MVC"이므로 POSTS에서 다른 페이지로 리디렉션되는 경우가 있는데 MAC 유효성 검사를 수행 할 수 없습니다. ViewStateMAC = false 및 ViewStateEncryption = true의 web.config 설정이 좋은 조합이 아니라고 생각합니다. – felickz