Estou tentando definir o cookie de sessão em javascript como este:
document.cookie = 'name=alex; path=/'
Mas o Chrome não o exclui, mesmo que eu saia do navegador e o inicie novamente.
Fiz o check-in no Firefox e Opera e ambos funcionam conforme o esperado - eles excluem o cookie da sessão na saída do navegador.
O Chrome está apenas ignorando as regras de expiração?
Fiz o check-in em vários sistemas operacionais e descobri que o cookie de sessão é removido no Chrome no Windows XP e no Ubuntu, mas NÃO no Mac OSX Lion.
ini_set("session.cookie_lifetime", 0)
e'remember_me_seconds' => 1
. Mas não ajuda. O Firefox funciona bem, mas o Chrome não.Respostas:
Isso pode ser causado pelo fato de o Chrome estar definido como Continuar de onde você parou .
Leitura adicional
fonte
Acabei de ter o mesmo problema com um cookie que estava definido para expirar em "Navegando no final da sessão".
Infelizmente isso não aconteceu, então eu brinquei um pouco com as configurações do navegador.
Aconteceu que o recurso que lembra as guias abertas quando o navegador é fechado era a raiz do problema. (O recurso é denominado "Na inicialização" - "Continuar de onde parei". Pelo menos na versão atual do Chrome).
Isso também acontece com o Opera e o Firefox.
fonte
Eu apenas tive esse problema. Percebi que, mesmo depois de fechar meu navegador, havia muitos processos do Chrome em execução. Acontece que estes eram todos da minha extensão do Chrome.
Em configurações avançadas, desmarquei
'Continue running background apps when Google Chrome is closed'
e meus cookies de sessão começaram a funcionar como deveriam.Ainda é um problema para todos nós desenvolvedores que estamos codificando esperando que os cookies da sessão sejam limpos quando o usuário terminar de navegar.
fonte
Talvez porque o Chrome ainda esteja sendo executado em segundo plano depois que você fechar o navegador. Tente desativar esse recurso, fazendo o seguinte:
No entanto, acho que o Chrome deve verificar e excluir os cookies da sessão anterior, iniciando em vez de fechar.
fonte
Eu tive que ambos, desmarcado, nas configurações avançadas do Chrome:
fonte
Uma alternativa simples é usar o novo objeto sessionStorage . Pelos comentários, se você tiver marcado 'continuar de onde parei', o sessionStorage persistirá entre as reinicializações.
fonte
Eu tive o mesmo problema com o "document.cookie" no Windows 8.1, a única maneira de o Chrome excluir o cookie era desligá-lo do gerenciador de tarefas (não de uma maneira realmente sofisticada), então decidi gerenciar os cookies pelo back-end ou usar algo como "js-cookie".
fonte
Você tentou remover a extensão de hangouts no Google Chrome? porque força o cromo a continuar funcionando, mesmo que você feche todas as janelas.
Eu também estava enfrentando o problema, mas ele resolveu agora.
fonte
Vamos para
chrome://settings/content/cookies?search=cookies
Ativar
Clear cookies and site data when you quit Chrome
.Trabalhou para mim
fonte
Se você definir o domínio para o cookie de sessão php, os navegadores parecerão segurá-lo por 30 segundos ou mais. Não parece importar se você fechar a guia ou a janela do navegador.
Portanto, se você estiver gerenciando sessões usando algo como o seguinte, pode estar causando a interrupção do cookie no navegador por mais tempo do que o esperado.
A única maneira que encontrei de me livrar do cookie suspenso é remover a linha de código que define o domínio do cookie da sessão. Também atente para a função session_set_cookie_params (). O prefixo de ponto do domínio também não parece ter relação com o problema.
Isso pode ser um bug do php, pois o php envia um cookie de sessão (ou seja
PHPSESSID=b855ed53d007a42a1d0d798d958e42c9
) no cabeçalho após a destruição da sessão. Ou pode ser um problema de propagação do servidor, mas acho que não, já que meu teste foi em servidores privados.fonte
Acabei de ter o problema de o Chrome armazenar uma ID de sessão, mas não gosto da idéia de desativar a opção para continuar de onde parei. Olhei para os cookies do site e encontrei um cookie de ID da sessão para a página de login. A exclusão que não corrigiu meu problema. Pesquisei o domínio e descobri que havia outro cookie de ID de sessão no domínio. A exclusão dos dois cookies de ID da sessão corrigiu manualmente o problema e eu não fechei e reabri o navegador que poderia ter restaurado os cookies.
fonte
A solução seria usar o
sessionStorage
FYI: https://developer.mozilla.org/en-US/docs/Web/API/Window/sessionStoragefonte
O Google chrome tem um problema se você definir e desmarcar a forma incorreta de cookie. Este é o código php. Pensei que isso lhe dará uma idéia.
Definir cookie
Caminho errado e não funcionará (observe que PATH está ausente)
A maneira correta corrige o problema no google chrome
fonte