De um modo geral, ao receber um cookie que não tem período de expiração, os navegadores modernos consideram esse cookie como um 'cookie de sessão', removendo o cookie no final da sessão de navegação (geralmente quando a instância do navegador fecha).
IE, Opera, Safari e Chrome suportam esse comportamento.
No entanto, o firefox (versão 3.0.9 mais recente) parece não seguir esta regra, pelo que posso dizer que não expira os cookies quando o navegador é fechado ou quando o usuário faz logoff ou reinicia o sistema operacional.
Então, por que o firefox se refere a eles como cookies de sessão, quando eles duram aparentemente indefinidamente?
Alguém sabe como o Firefox lida com a expiração de cookies de sessão?
Respostas:
Aparentemente, isso ocorre por design. Verifique este bug do Bugzilla: https://bugzilla.mozilla.org/show_bug.cgi?id=443354
O Firefox tem um recurso onde você fecha o Firefox e oferece para salvar todas as suas guias, e então você restaura o navegador e essas guias voltam. Isso é chamado de restauração de sessão. O que eu não percebi é que ele também restaurará todos os cookies de sessão para essas páginas! Ele trata como se você nunca tivesse fechado o navegador.
Isso faz sentido no sentido de que, se seu navegador travar, você voltará para onde estava, mas é um pouco desconcertante para desenvolvedores da web acostumados a limpar os cookies de sessão. Eu tenho alguns cookies de sessão antigos de meses atrás que foram definidos por sites que sempre abro em guias.
Para testar isso, feche todas as guias do navegador, feche o navegador e reinicie-o. Acho que os cookies de sessão do seu site devem ser apagados nesse caso. Caso contrário, você teria que desligar a restauração da sessão.
fonte
Duas ideias:
fonte
Isso deve funcionar. Eu costumava ser um dos testadores do módulo de cookie e não acho que haja qualquer razão de design para que isso se comportasse de maneira diferente (embora se você travar, os cookies de sessão podem ser projetados para permanecerem vivos quando você reiniciar ...)
Você está visualizando os cookies no menu "Preferências"> guia "Privacidade"> botão "Mostrar Cookies ..."?
Além disso, você tentou um novo perfil?
fonte
Eu discordo do meandmycode acima.
A especificação HTTP https://www.ietf.org/rfc/rfc6265.txt fala sobre o que um cliente deve fazer com cabeçalhos Set-Cookie com Expires:
A extensão lógica disso é que a ÚNICA maneira de o servidor exigir que o navegador não mantenha um Cookie na saída é não definir nenhum valor de Expires (ou seja, um cookie de sessão). Se um navegador não respeitar essa semântica, ele não estará honrando a resposta do servidor.
Essencialmente, o agente do usuário está decidindo ignorar a solicitação do servidor e agir como se um valor Expires tivesse sido definido.
fonte
Isso é um pouco preocupante em ambientes de usuários compartilhados. Se eu definir um cookie de autenticação que está definido para expirar no final da sessão. Isso persistirá no Firefox depois que o navegador for fechado e outro usuário iniciar o Firefox. Os cookies são definidos com uma data de validade por um motivo!
fonte
Estou desconcertado que a Mozilla tenha deixado isso como está por vários anos.
OK .. então eu saio do FF e desligo o PC. No dia seguinte, o FF inicia e abre o último conjunto de páginas (recurso útil e interessante) MAS ele restaura as sessões e eu estou conectado novamente a sites que não possuem o recurso "salvar minhas configurações". Eu sei porque são sites que eu construí. Tudo o que faço com as configurações do php ini, as sessões são restauradas.
Eles absolutamente não devem ser restaurados. Páginas sim, mas sessões com cookie ini definidas como '0' não.
Não entendo por que isso não é sinalizado como uma falha de segurança. Claro que posso fazer algumas verificações adicionais no lado do servidor, para ver se um login deve ser permitido, com base na hora desde o último login, mas não deve ser necessário.
Uma sessão NÃO deve persistir. O FF está manipulando as configurações de expiração do cookie.
fonte
Bem, é desconcertante para mim. Meu sistema está configurado para que os usuários possam clicar em SAIR, destruindo todos os cookies de sessão. Mas se um usuário fechar o navegador sem realmente escolher Sair, gostaria que os cookies da sessão fossem apagados.
Na verdade, testei com o Google Chrome, IE 9, e funciona bem. Mas o Firefox está relutante em eliminar esses cookies de "sessão" (conforme relatado pelo Firebug).
ESTÁ BEM. Isso é o que eu fiz. Escolhi Sair do menu principal do FireFox e, a partir daí, funcionou como esperado (não sei por quê).
fonte