Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Sair de um usuário inativo usando PHP


O -4200 é apenas para destruir o cookie. Os cookies são destruídos ao definir uma hora no passado para eles. Portanto, definir 4200 segundos para trás é tão eficaz quanto 1 segundo para trás.

Para desconectar usuários, existem vários métodos. Você pode ter seu próprio cookie definido com a última hora ativa (defina a hora toda vez que o usuário visitar uma página). No início de cada script inclua uma função que obtém este cookie e verifica o valor que deve conter o último horário ativo. Se esse tempo for mais antigo que o tempo inativo permitido, destrua este cookie e destrua sua sessão também, caso contrário, atualize o valor para o tempo atual.

Claro, você também pode armazenar dentro da própria sessão o último horário ativo, o que é uma maneira muito mais eficiente de remover a sobrecarga de transferência e gerenciamento de cookies.

EDITAR

Abaixo está um código mínimo para verificar o último horário ativo e desconectar o usuário:
function login(){
    //check login username/pass etc...
    $_SESSION['last_active_time'] = time();
}

function auth(){
   if($_SESSION['last_active_time'] < (time() - 1800)){ //1800 is 30 minutes (time in seconds)
        logout(); //destroy the session in the logout function
    }
    else{
        $_SESSION['last_active_time'] = time();
    }
   //do some auth related things
}

Essa é a lógica básica por trás disso. Claro que você precisaria implementar outras coisas que você precisa junto com segurança, verificação, etc...