Fergo
Highlander
Registrado
9.3K Mensagens
1.1K Curtidas
Grave o horário atual em uma variável de sessão. Ao carregar cada página, verifique o horário atual com o horário salvo nessa variável e se essa diferença for maior que 5 minutos, ao invés de exibir a página, encerre a sessão do usuário.
Em um "pseudo-código", com funções fictícias, pois já faz tempo que não mexo com PHP e não lembro exatamente o nome delas:
[code=php]
//Estou supondo que a função Time() retorne uma data em UnixTime, por isso aquela multiplicação no "if"
//Pra ficar mais claro,
//Pega o horario atual
horarioAtual = Time();
if ((horarioAtual - $_SESSION['horarioSalvo']) > (5 * 60 * 1000))
//Coloque aqui o codigo para encerrar a sessao
else
//Aqui vai o codigo para exibir a pagina normalmente
//Atualiza a variavel do horario salvo para o horario atual
$_SESSION['horarioSalvo'] = horarioAtual;
[/code]
Se quiser algo mais dinâmico, como aqueles contadores em tempo real tipo dos sites de Internet Banking que ficam mostrando "Sua sessão vai expirar em..." e encerram a sessão independente do usuário tentar acessar uma nova página, terá que usar JavaScript.
Flavio_vivin...
Geek
Registrado
2.5K Mensagens
173 Curtidas
Grave o horário atual em uma variável de sessão. Ao carregar cada página, verifique o horário atual com o horário salvo nessa variável e se essa diferença for maior que 5 minutos, ao invés de exibir a página, encerre a sessão do usuário.
Em um "pseudo-código", com funções fictícias, pois já faz tempo que não mexo com PHP e não lembro exatamente o nome delas:
[code=php]
//Estou supondo que a função Time() retorne uma data em UnixTime, por isso aquela multiplicação no "if"
//Pra ficar mais claro,
//Pega o horario atual
horarioAtual = Time();
if ((horarioAtual - $_SESSION['horarioSalvo']) > (5 * 60 * 1000))
//Coloque aqui o codigo para encerrar a sessao
else
//Aqui vai o codigo para exibir a pagina normalmente
//Atualiza a variavel do horario salvo para o horario atual
$_SESSION['horarioSalvo'] = horarioAtual;
[/code]
Se quiser algo mais dinâmico, como aqueles contadores em tempo real tipo dos sites de Internet Banking que ficam mostrando "Sua sessão vai expirar em..." e encerram a sessão independente do usuário tentar acessar uma nova página, terá que usar JavaScript.
Fergo, sua lógica tem lógica rsrsrs.
No PHP montei um código dessa forma e funciona certinho. Preferia fazer isto no PHP pois creio que seria mais seguro, pelo fato de que o usuário poderia desabilitar o JavaScript do navegador se fosse feito em JavaScript.
O Marcos Andrade22 também me passou um código em JavaScript que ainda vou testar que trabalha monitorando o movimento do mouse e teclado... Também tenho um código em JavaScript para redirecionar após determinado tempo...
No entanto, não queria colocar só em JavaScript, mas devo fazer uma "dupla" com o PHP e JavaScript depois. Com PHP pode-se destruir a sessão e impedir alguém de usar o sistema após isto, mas os dados da última tela ainda ficam visíveis e o código somente será executado na próxima atualização de tela. Já colocando um código em JavaScript juntamente com o PHP, o código em JavaScript irá trocar a tela, levando para a tela de login novamente. Assim impede que a última tela que estava sendo exibida não fica mais visível.
Em resumo: Tópico concluído pois o pedido de ajuda era para o PHP e o JavaScript vejo como implantar depois.
Obrigado pela ajuda.
"Vinde a Mim, todos os que estais cansados e oprimidos, e Eu vos aliviarei" - Mateus 11,28.
www.flaviosistemas.com.br
Desenvolvendo projetos, facilitando sua vida.