problema de compartilhamento de sessão no Firefox

problema de compartilhamento de sessão no Firefox

O Firefox (3.6.18) compartilha a sessão quando o aplicativo é aberto em várias guias. Quero evitar isso, em cada aba aberta deve haver uma nova sessão para que o estado dos dados na sessão não seja corrompido.

Qualquer ajuda nesse sentido será muito apreciada.

Responder1

Não há problema com o Firefox ou mesmo com a versão que você mencionou. Eu consideraria que sua compreensão de como os navegadores rastreiam os cookies de sessão está um pouco incompleta. Os navegadores sempre enviarão uma solicitação a um servidor, com os cookies do domínio do servidor que os emitiu. Isto ocorre independentemente da guia do navegador que emitiu o cookie.

Se não quiser que cookies de sessão sejam usados ​​entre guias, você poderá ter identificadores específicos de página para distinguir cada página renderizada pelo servidor para um cliente. Quando a guia correspondente envia uma solicitação de volta, ela também deve enviar o identificador específico da página, para que o servidor possa distinguir as solicitações emitidas pelas guias. Isso não ajudaria se um usuário copiasse um link com esse identificador específico da página de uma guia para outra.

Se você quiser continuar usando identificadores específicos de página, tudo o que você precisa fazer é analisar os parâmetros da solicitação recebida para o identificador de página. Se não existir, você pode gerar um usando um PRNG e enviar uma resposta contendo esse identificador de página na página (por exemplo, como um campo oculto em um formulário ou na URL, mas nunca como um cookie).


Nota: Se você estiver procurando recursos específicos do navegador, o Firefox 3 e 4 não possui o recurso "Nova Sessão" presente no IE9, que permitiria aos usuários criar novas sessões nas janelas do navegador. Além disso, o recurso “Nova Sessão” do IE9 parece não funcionar se o servidor usar cookies persistentes para rastrear o usuário.

Responder2

Você não pode,

Você pode reescrever o URL e anexar jSessionId a cada URL e rastreá-lo manualmente. mas não é a maneira de fazer as coisas

informação relacionada