Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Logout pengguna yang tidak aktif menggunakan PHP

-4200 hanya untuk menghancurkan cookie. Cookie dihancurkan dengan menetapkan waktu di masa lalu untuk mereka. Jadi menyetel mundur 4200 detik sama efektifnya dengan mundur 1 detik.

Untuk logout pengguna ada beberapa metode. Anda dapat mengatur cookie Anda sendiri dengan waktu aktif terakhir (mengatur waktu setiap kali pengguna mengunjungi halaman). Di awal setiap skrip, sertakan fungsi yang mendapatkan cookie ini dan periksa nilai yang harus berisi waktu aktif terakhir. Jika waktu ini lebih lama dari waktu tidak aktif yang Anda izinkan, musnahkan cookie ini dan musnahkan sesi Anda juga, jika tidak, perbarui nilainya ke waktu saat ini.

Tentu saja, Anda juga dapat menyimpan di dalam sesi itu sendiri waktu aktif terakhir, yang merupakan cara yang jauh lebih efisien untuk menghilangkan biaya transfer dan pengelolaan cookie.

EDIT

Di bawah ini adalah kode minimal untuk memeriksa waktu aktif terakhir dan logout pengguna:

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
}

Itulah logika dasar di balik ini. Tentu saja Anda perlu menerapkan hal-hal lain yang Anda butuhkan bersama dengan keamanan, pemeriksaan, dll....



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQLAlchemy - abaikan penyisipan massal:Entri duplikat

  2. Apa perbedaan antara Oracle dan Mysql ketika menafsirkan Buat Database?

  3. Pernyataan pembaruan MySQL untuk menyimpan posisi peringkat

  4. Fungsi MYSQL TIMEDIFF tidak berfungsi untuk tanggal yang lama

  5. Peringatan:mysqli::mysqli():(HY000/1045):Akses ditolak untuk 'database'@'localhost' pengguna (menggunakan kata sandi:NO) di