sql >> Databáze >  >> RDS >> Mysql

Odhlaste neaktivního uživatele pomocí PHP

-4200 je jen na zničení cookie. Soubory cookie jsou zničeny nastavením času v minulosti. Takže nastavení 4200 sekund dozadu je stejně účinné jako 1 sekunda dozadu.

Pro odhlášení uživatelů existuje několik způsobů. Můžete si nastavit svůj vlastní soubor cookie s časem poslední aktivity (nastavit čas pokaždé, když uživatel navštíví stránku). Na začátek každého skriptu uveďte funkci, která tento cookie získá a zkontroluje hodnotu, která by měla obsahovat poslední aktivní čas. Pokud je tento čas starší než povolený čas neaktivity, zničte tento soubor cookie a zničte také svou relaci, pokud ne, aktualizujte hodnotu na aktuální čas.

Samozřejmě můžete do samotné relace také uložit poslední aktivní čas, což je mnohem efektivnější způsob, jak odstranit režii přenosu a správy souborů cookie.

UPRAVIT

Níže je uveden minimální kód pro kontrolu posledního aktivního času a odhlášení uživatele:

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
}

To je základní logika za tím. Samozřejmě budete muset implementovat další věci, které potřebujete, spolu se zabezpečením, kontrolou atd...



  1. Jak přidat číslo řádku do skupiny v mém dotazu

  2. Mysql, vyberte ID seskupená podle odlišného sloupce (vyberte všechna ID pro každou jedinečnou doménu)

  3. Jak UNHEX() funguje v MariaDB

  4. Poskytuje nástroj mysql CLI způsob, jak zobrazit binární data způsobem přátelským ke konzole?