Encerrar Session ao fechar a aba ou o browser
Boa Tarde Pessoal.
Desenvolvi um site de comunidade virtual como orkut e cia, e está na fase de testes.
O sistema de login foi feito com sessions.
Quando os usuários logados fecham o browser sem clicar em "sair" (o que a maioria faz) pode acontecer 3 coisas quando o usuário acessa novamente meu site:
1 - A Session foi expirada e o usuário tem que fazer login novamente; (OK)
2 - A Session continua ativa e o usuário pode navegar normalmente como se continuasse no site desde o último login (OK)
3 - O usuário continua logado mas com erros graves. (NÃÃÃO!!!)
Gostaria que quando o usuário fechase o browser ou a aba sem clicar em sair, a session expirasse como se tivesse clicado em "sair" (session_destroy())
Alguma luz?
////////////////// ERRO QUE OCORRE NO CASO 3 CITADO ACIMA, pra quem estiver curioso
quando o usuário faz login, abro essas informações:
$_SESSION["USU_ID"] = 999;
$_SESSION["USU_NICK"] = 'nonono';
$_SESSION["USU_FOTO"] = 'nonono.jpg'
$_SESSION["USU_CIDADE"] = 'nonono dos campos'
$_SESSION["USU_ESTADO"] = 'NO';
$_SESSION["USU_SEXO"] = 'N';
quando o usuario acessa o site sem ter clicado em "sair" da última vez, pode acontecer da sessão continuar aberta mas com apenas a informação $_SESSION["USU_ID"];
as informações $_SESSION["USU_NICK"] , $_SESSION["USU_FOTO"] e todas as outras entram vazias.
Mas até ai até que tudo bem, uma vez que este usuário só não conseguirá ver a foto no seu perfil, o nick, etc... Mas se ele enviar uma mensagem pra outro usuário vai gravar tudo direitinho no BD.
O erro pior mesmo é que já aconteceu de: além de abrir apenas o $_SESSION["USU_ID"], abre com o ID errado. 2 vezes uma amiga minha que tem o perfil
de Fernanda, ao abrir essa "Sessão fantasma", enviou uma mensagem e apaceceu como Gustavo. Um outro usuário com outro ID. E o Gustavo nunca usa o computador dela.
Então quero encerrar a sessão toda vez! É mais seguro.
Discussão (8)
Carregando comentários...