Mysql
 sql >> база данни >  >> RDS >> Mysql

Излезте от неактивен потребител, използващ PHP

-4200 е само за унищожаване на бисквитката. Бисквитките се унищожават чрез задаване на време в миналото за тях. Така че настройването на 4200 секунди назад е също толкова ефективно, колкото 1 секунда назад.

Има няколко метода за излизане на потребителите. Можете да имате свой собствен набор от бисквитки с последното активно време (задайте времето всеки път, когато потребителят посещава страница). В началото на всеки скрипт включете функция, която получава тази бисквитка и проверява стойността, която трябва да съдържа последното активно време. Ако това време е по-старо от позволеното ви време на неактивност, унищожете тази бисквитка и унищожете и вашата сесия, ако не, тогава актуализирайте стойността до текущия час.

Разбира се, можете също да съхранявате в самата сесия последното активно време, което е много по-ефективен начин за премахване на излишните разходи за прехвърляне и управление на бисквитки.

РЕДАКТИРАНЕ

По-долу е даден минимален код за проверка на последното активно време и излизане на потребителя:

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
}

Това е основната логика зад това. Разбира се, ще трябва да внедрите други неща, от които се нуждаете, заедно със сигурност, проверка и т.н....



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sequelize чете дата и час само в UTC

  2. Фалшифициране на автоматично увеличение на таблица в MySQL с помощта на Trigger

  3. ProgrammingError:SQLite обекти, създадени в нишка, могат да се използват само в същата нишка

  4. ER_ACCESS_DENIED_ERROR CloudSQL

  5. Безопасни ли са тригерите на базата данни за ограничения на целостта на кръстосани таблици?