• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

anolsi

Terminar Sessão

7 mensagens neste tópico

Não sei se estou no local correcto, mas...

Tenho uma página em que o utilizador se autentica, inicia uma nova sessão em php, e altera na BD o campo online para verdadeiro. Enquanto este estiver online, não poderá reentrar. O que eu queria fazer era do género, que passados x minutos de inactividade o estado alterava-se para falso.

Será que alguém me pode ajudar?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O que tu podes fazer é colocar na coluna online a hora até à qual o user está no estado online, ex: 1234353234+15*60 (o 1234353234 é o unix timestamp, www.php.net/time), depois cada vez que o user visitar uma página actualizares este valor, fiz-me perceber?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

faz o que o fnds3000 disse... É A MELHOR FORMA

discordo! concordo mais com o Battousai, pois imagina que o utilizador fez login num pc e não fez logoff, imagina que ele quer fazer login noutro pc, não vai conseguir... teria que esperar x minutos para voltar a entrar, com cookie o utilizador pode entrar em qualquer pc as vezes que quiser.

Agora é um facto que se pode logar em várias máquinas mas isso não tem grande problema, acho.

** editado

Para solucionar a entrada consecutiva de várias vezes, simplesmente banes o ultimo IP durante algum tempo.

Mas:

Isso de guardar Ip's por registo não é boa ideia, pois imagina uma rede, cada um tem o seu ip (mas da rede, pois da net é o mesmo para todos) sendo assim, imagina uma escola a tentar entrar no teu site, o ultimo progredia sobre o anterior...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Uma 3ª solução, e a que eu uso, é registar o tempo numa variável de sessão, parecido com a solução do cookie...

if (time() - $_SESSION["last_request"] > $max_inactivo) {

// logout...

} else $_SESSION["last_request"] = time();

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora