Eu estou tendo um problema com um projeto que estou desenvolvendo. Alguem pode me ajudar? Acontece o seguinte: No projeto tem uma tela de login, quando logo, ele vai para a tela dentro do sistema. Quando eu estou dentro desta tela do sistema, e clico no botão voltar, aparece a tela de login devolta e quando clico em avançar denovo, ele volta para a tela e faz como se estivesse logado. Isso não é para acontecer. Eu estou controlando sessão e até coloquei aquelas 3 linhas no começo da página para não guardar a página em cach. Mas quando coloco estas 3 linhas, aparece um erro, uma página em branco com a mensagem ‘Esta sessão espirou’ ou algo parecido. Isso não pode acontecer.
Aí eu tenho duas maneiras de corrigir este problema.
1ª: não deixar o cara clicar no botão voltar do browser (como se ele estivesse desativado) ou fazer com que quando ele clique lá, apareça a mesma tela anterior da qual ele clicou/
2ª: achar um jeito de o browser não mostrar a tela branca com ‘Esta sessão expriou’ com mais umas 3 linhas.
Oi
Amigão, vejamos se eu entendi bem…
Tu pode invalidar a sessão manualmente com session.invalidate() ou então, se não quiser que ela fique inválida, aumente o time out.
T+
Não, eu sei como cancelar a sessão. O problema é que quando eu cancelo e volto para a página anterior aparece aquela página branca com a mensagem que a sessão expirou. Mas não é verdade por que quando se dá F5, ele carrega a página normalmente (se a sessão não foi expirada). Mas a questão é que expirando ou não a sessão, a tela branca aparece. A pergunta é por que? O que eu tenho que fazer pra esta tela não aparecer?
Isso provavelmente acontece porque o servidor deve estar mandando a página dinâmica com um cabeçalho assim:
Cache-Control: no-cache
Essa mesma informação à vezes é passada no próprio código HTML enviado:
<META HTTP-EQUIV=“CACHE-CONTROL” CONTENT=“NO-CACHE”>