Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Wyloguj nieaktywnego użytkownika za pomocą PHP

-4200 służy tylko do zniszczenia ciasteczka. Pliki cookie są niszczone poprzez ustawienie dla nich czasu w przeszłości. Tak więc ustawienie 4200 sekund wstecz jest tak samo efektywne jak 1 sekunda wstecz.

Istnieje wiele metod wylogowania użytkowników. Możesz mieć własny zestaw plików cookie z czasem ostatniej aktywności (ustaw czas za każdym razem, gdy użytkownik odwiedza stronę). Na początku każdego skryptu dołącz funkcję, która pobiera to ciasteczko i sprawdza wartość, która powinna zawierać czas ostatniej aktywności. Jeśli ten czas jest starszy niż dozwolony czas nieaktywności, zniszcz ten plik cookie i zniszcz również swoją sesję, jeśli nie, zaktualizuj wartość do aktualnego czasu.

Oczywiście możesz również przechowywać w samej sesji ostatni czas aktywności, co jest znacznie bardziej efektywnym sposobem usuwania narzutów związanych z przesyłaniem plików cookie i zarządzaniem nimi.

EDYTUJ

Poniżej znajduje się minimalny kod do sprawdzenia czasu ostatniej aktywności i wylogowania użytkownika:

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
}

Taka jest podstawowa logika. Oczywiście będziesz musiał zaimplementować inne rzeczy, których potrzebujesz, wraz z zabezpieczeniami, sprawdzaniem itp....



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak wykonać te dwie kwerendy w php?

  2. Przekroczenie limitu czasu połączenia przy zapytaniu o dużą tabelę

  3. Jak wybrać kolumnę za pomocą Hibernate?

  4. MySQL Workbench:Nie można połączyć się z serwerem MySQL w przypadku błędu 127.0.0.1' (10061)

  5. Aktualizacja kolumny na podstawie istniejących pól