Pergunta

Eu adicionei o seguinte código à minha masterpage (Page_Load) assim que uma vez um usuário faz que eles não serão capazes de usar o botão voltar para ver a página que eram anteriormente a.

 Response.Buffer = true;
 Response.ExpiresAbsolute = DateTime.Now.AddDays(-1);
 Response.Expires = -1;
 Response.CacheControl = "no-cache";

O problema é que meus usuários querem ser capaz de usar o botão do navegador para trás, enquanto eles são registrados na aplicação. Quando eu comentar o código para não armazenar em cache as páginas que eles podem usar o botão voltar, mas uma vez que sair eles podem usar o botão para trás para ver a página anterior eles estavam em que provoca um risco de segurança.

Alguém tem alguma sugestão para que eles possam usar o botão de navegador de volta na aplicação, mas uma vez que eles estão desconectados eles não podem voltar para a aplicação?

Foi útil?

Solução

É o objetivo de impedir que um usuário autenticado-un de sub-repticiamente uma visita a um computador previamente utilizadas e ver o que o usuário autenticado estava fazendo? Neste último caso, então você deve redirecionar o usuário para uma página de logout que tem um window.close (); comando juntamente com uma linguagem forte sobre este ser um exigência . Agora, isso não é ironclad: IE irá perguntar o usuário se eles estão dispostos a deixar o aplicativo fechar a janela e outros navegadores ignorar o pedido completamente. No entanto, no tipo certo de ambiente de segurança, eu acho que ela pode fornecer um contributo significativo para a política de segurança -. Embora de uma variedade principalmente cultural (que ajuda os membros da Abide cultura pelas regras)

Se você quiser "one-time através e está feito" tipo de segurança, em seguida, eu estou com medo de que o bloqueio de cache ou adicionar "window.forward ()" para cada página (o que impede todo o uso do botão Voltar ) é sua única opção real.

Uma outra coisa: AJAX fornece algumas ferramentas que ajuda também. Você poderia colocar informações confidenciais em um painel de atualização e ter o carregamento da página javascript desencadear uma atualização de painel de atualização. Uma vez que este será sempre voltar para o servidor, / não autenticado expirado usuários vai ser afastado. Esta é uma carga de trabalho bastante significativo para assumir, mas eu pensei que eu ia jogá-lo lá fora.

Outras dicas

YUI fornece uma maneira de controlar facilmente histórico do navegador para perfurar programaticamente URLs para a história. Dê uma olhada no YUI histórico do navegador gerente.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top