Marcos13 Posted February 10, 2014 at 11:56 AM Report #544626 Posted February 10, 2014 at 11:56 AM Boas, tenho um script de login e logout a funcionar na perfeição. Mas por motivos de segurança, tenho um auto logout. Ou seja, quando passar 60min a sessão termina. Tenho também uma coluna na base de dados que guarda a ultima visita do utilizador. O problema disto é que quando eu fecho o separador da pagina, e os 60min passarem, a sessão so termina da proxima vez que alguem aceder a aplicação. Se eu agora (12:00) fizer o login com o utilizador xpto e deixar a sessão ligada mas fechar o separador, ele so verifica que a sessão inspirou da proxima vez que alguem aceder a aplicação. Ou seja, se as 14:00 eu abrir a pagina, o utilizador xpto irá ficar com o registo de ultima visita as 14:00. Como posso contornar esta situação? Já me lembrei de trabalhar com o session_id, guardar na base de dados, e fazer a comparação do utilizador, mas acho que não é uma boa politica. Tambem ja pensei em triggers no mysql. Qual é a melhor opção?
I-NOZex Posted February 10, 2014 at 12:12 PM Report #544628 Posted February 10, 2014 at 12:12 PM concerteza deves encontar soluçao por aqui: http://stackoverflow.com/questions/3068913/user-inactivity-logout-php http://stackoverflow.com/questions/15595913/session-timeout-due-to-inactivity http://stackoverflow.com/questions/520237/how-do-i-expire-a-php-session-after-30-minutes http://phpsnips.com/39/Logout-Inactive-User#.UvjBiLSoRrc http://www.dynamicdrive.com/forums/showthread.php?25939-Automatic-Logout-after-15-minutes-of-inactive&p=243299#post243299 http://devcoders.net/archives/simple-session-inactivity-logout/248 B2R » Beat2Revolution v3.0b | Regista e divulga-nos beat2revolution.net
HappyHippyHippo Posted February 10, 2014 at 12:24 PM Report #544630 Posted February 10, 2014 at 12:24 PM e que tal um logout não contabilizar como uma visita ? IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
Marcos13 Posted February 10, 2014 at 02:57 PM Author Report #544646 Posted February 10, 2014 at 02:57 PM HappyHippyHippo, realmente parece me a melhor forma, mas o conceito de "Ultima visita" passa a não estar muito correcto... I-NOZex, isso é o que a aplicação ja faz...
HappyHippyHippo Posted February 10, 2014 at 03:01 PM Report #544647 Posted February 10, 2014 at 03:01 PM mas o conceito de "Ultima visita" passa a não estar muito correcto... a sério ? porque ? IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
bioshock Posted February 10, 2014 at 03:23 PM Report #544651 Posted February 10, 2014 at 03:23 PM Vamos lá ver se percebi o problema.. O problema disto é que quando eu fecho o separador da pagina, e os 60min passarem, a sessão so termina da proxima vez que alguem aceder a aplicação. O que é normal..a sessão só finaliza por completo após o fecho do browser. Se eu agora (12:00) fizer o login com o utilizador xpto e deixar a sessão ligada mas fechar o separador, ele so verifica que a sessão expirou da proxima vez que alguem aceder a aplicação. O que também é normal.. Ou seja, se as 14:00 eu abrir a pagina, o utilizador xpto irá ficar com o registo de ultima visita as 14:00. Não. Se guardaste na base de dados a última visita, que foi às 12:00, quando o utilizador voltar à pagina verificas se o mesmo (através de algum parâmetro que guardes na session - por norma o ID do utilizador) na base de dados já tem algum valor e comparas o tempo de diferença. Superior a 60 minutos = obrigatório fazer novamente login.
nelsonr Posted February 10, 2014 at 04:43 PM Report #544668 Posted February 10, 2014 at 04:43 PM Acho que o que pretendes é a ultima atividade e não a ultima visita. 1 Report
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now