JapahReturN 0 Denunciar post Postado Março 22, 2017 Por exemplo o usuário logou o painel.... depois de 1 hora mais ou menos o sistema desloga automaticamente... Compartilhar este post Link para o post Compartilhar em outros sites
FaahWl 4 Denunciar post Postado Março 22, 2017 Boa tarde! Você pode guardar o tempo da última atividade do usuário na $_SESSION. E a cada vez que ele tenta fazer uma requisição ele verifica se o time() é maior que 3600 segundos (1 hora). Ficou claro? Compartilhar este post Link para o post Compartilhar em outros sites
gabrieldarezzo 255 Denunciar post Postado Março 22, 2017 Depois de 1 hora mais ou menos o sistema desloga automaticamente Da uma lida: http://php.net/manual/pt_BR/function.session-start.php <?php // Envia o cookie persistente que dura um dia session_start([ 'cookie_lifetime' => 86400, ]); Nunca testei, mas aparentemente funciona. Outra opção é salvar assim que o usuario logar numa tabela o timestamp de acesso DATETIME -> NOW() + session_id() e fazer uma rotina/cron q rode de min em min verificando se após aquela Hora alguém ainda está ativo, caso esteja simplesmente encerra aquela sessão. Compartilhar este post Link para o post Compartilhar em outros sites
JapahReturN 0 Denunciar post Postado Março 23, 2017 Cara não funcionou u.u Compartilhar este post Link para o post Compartilhar em outros sites
gabrieldarezzo 255 Denunciar post Postado Março 23, 2017 Uma opção seria sempre chamar uma rotina durante a verificação de sessão. Ex: <?php function isDeletedSesseon(){ //Ex com retorno do banco "SELECT id FROM user where dead_session = 1"; if($user['id'] == $_SESSION['id']){ session_destroy(); } } Basicamente você chamaria essa função/método no ato do seu Login, se corresponder a clausula where você força o user a deslogar ;) Ps: o WHERE dead_session pode ser alterado para o que você quiser... Ex se fosse um DATETIME você adicionaria algo como exempliquei no post acima (DATETIME + NOW() NO ATO DO primeiro acesso). Passou 1h?! session_destroy()!!! Compartilhar este post Link para o post Compartilhar em outros sites
Guilherme Luiz 41 Denunciar post Postado Março 23, 2017 Eu faria algo sem utilizar o banco de dados... Na minha session após o login, também salvaria o timestamp do login. Cada refresh da pagina, ou seja, a cada novo teste de session eu checharia se ja se passaram uma hora. Se o tempo for maior que os 3600segundos, session_destroy sem choro. Compartilhar este post Link para o post Compartilhar em outros sites
gabrieldarezzo 255 Denunciar post Postado Março 23, 2017 Boa ideia @Guilherme Luiz Evita uma (ou varias) conexão/query. Compartilhar este post Link para o post Compartilhar em outros sites