Impedir o Internet Explorer 8 de armazenar dados de formulário de cache

Atualmente, estou enfrentando o problema de que o IE8 decide armazenar em cache um campo de formulário (oculto) no qual escrevo um hash gerado aleatoriamente, que também é armazenado na session. Se o hash enviado na forma for igual ao hash armazenado na session, o pedido do formulário é válido.

Mas, como o IE armazena esses valores em cache, o valor enviado na forma difere do que está armazenado na session. Como posso evitar que isso aconteça? Eu tentei autocomplete="off" no campo e no elemento

.

O campo de input oculto parece assim:

  

E a tag de formulário assim:

  

autocomplete não tem nada a ver com isso, a própria página está em cache no navegador.

Você pode definir alguns headers para desabilitar isso:

 header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past 

Você pode colocar este código dentro de sua TÍTULO HTML:

   

ou use a sugestão do Fire em seu código PHP.