problema de criptografia asp.net viewstate

Estou tentando ativar a criptografia do viewstateSempr como medida de segurança para o site ASP.NET 3.5 hospedado no IIS6. Temos o viewstate desativado, mas ainda vemos alguns "controlstate" nessa string. Em um ambiente de teste, sou capaz de simplesmente definir o seguinte no web.config e não posso mais base64 decodificar o viewstate para semi-texto simples:

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

Eu até adicionei o seguinte (gerado por gerador de chave da máquina) para machine.config e ainda criptografa a viewstate bem no meu servidor de teste:

<machineKey validationKey="002..." decryptionKey="D90E..." validation="SHA1" decryption="AES" />

Meu ambiente que não é de teste não parece captar as alterações acima, pois eu sempre posso decodificar o viewstate para texto simples com as configurações acima. Eu sempre sou redefinido depois de fazer alteraçõe

Algumas informações sobre meu servidor da web sem teste:

Web Farm / Load Balanced (mas apenas um servidor disponível para teste no momento)Sql Session State (inicialmente foi necessário o machinekey em machine.config para configurá-lo) machine.config: deployment retail = "true"

lguém pode sugerir onde procurar configurações adicionais que possam interferir na criptografia asp.net viewstat

EDIT: Agora, no meu servidor de teste do iis, não posso desfazer a configuração viewStateEncryptionMode, pois está criptografando o viewstate, mesmo quando eu a defini como "Nunca" e nenhum dos meus outros sites parece se apossar dessa configuração. Onde posso procurar para ver onde essa propriedade está sendo substituída? Existe algum cache em que essa configuração esteja armazenada que precise ser limpa, além do que seria feito quando eu redefinisse / parasse o serviço de www / touch machine.config?

EDIT FINAL: Depois de dias estudando os arquivos de configuração, desisti e implementei isso via código. Eu já tinha um módulo de segurança que estava anexado aos eventos da página, portanto, em Page_Load, adicionei: Page.RegisterRequiresViewStateEncryption ();

Eu adoraria saber o que estava impedindo que essa configuração fosse detectada no IIS6 imediatamente. Quando executo a cassini localmente, se eu definir o viewStateEncryptionMode como "Always" através do nó de páginas, eu o veria imediatamente codificando o viewstate e renderizando o campo oculto adicional com id = "__ VIEWSTATEENCRYPTED". Quando eu o defino como "Nunca", eu vejo imediatamente a criptografia desativada. Se eu fizer a mesma alteração exata no site do meu site hospedado no IIS6, ele não terá efeito imediato, mas se eu permitir que a configuração permaneça lá, ela acabará sendo mantida. Gostaria de parar / iniciar o serviço www, redefinir o iis, limpar o cache temporário do ASPNET, mas não sei mais o que tentar? Esperamos que este post funcione por um tempo e alguém no futuro veja o mesmo comportamento que experimentei e que possamos descobrir isso ainda mais!

questionAnswers(3)

yourAnswerToTheQuestion