Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Đăng xuất người dùng không hoạt động bằng PHP

-4200 chỉ là để phá hủy cookie. Cookie bị phá hủy bằng cách đặt thời gian trong quá khứ cho chúng. Vì vậy, đặt ngược 4200 giây cũng hiệu quả bằng 1 giây ngược.

Để đăng xuất người dùng có nhiều phương pháp. Bạn có thể đặt cookie của riêng mình với thời gian hoạt động cuối cùng (đặt thời gian mỗi khi người dùng truy cập một trang). Ở đầu mỗi tập lệnh, bao gồm một hàm lấy cookie này và kiểm tra giá trị sẽ chứa thời gian hoạt động cuối cùng. Nếu thời gian này cũ hơn thời gian không hoạt động cho phép của bạn, hãy hủy cookie này và hủy cả phiên của bạn, nếu không, hãy cập nhật giá trị cho thời điểm hiện tại.

Tất nhiên, bạn cũng có thể lưu trữ thời gian hoạt động cuối cùng bên trong phiên, đây là một cách hiệu quả hơn nhiều để loại bỏ chi phí quản lý và chuyển cookie.

CHỈNH SỬA

Dưới đây là mã tối thiểu để kiểm tra thời gian hoạt động cuối cùng và đăng xuất người dùng:

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
}

Đó là logic cơ bản đằng sau điều này. Tất nhiên, bạn sẽ cần triển khai những thứ khác mà bạn cần cùng với bảo mật, kiểm tra, v.v.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. chúng ta có thể chèn vào hai bảng với một câu lệnh sql không?

  2. Truy vấn cập nhật MySQL với tham gia bên trái và nhóm theo

  3. Doctrine - truy vấn con trong từ

  4. java.sql.SQLException:Không tìm thấy trình điều khiển phù hợp cho jdbc:mysql:// localhost:3306 / dbname

  5. MySQL Exception - Gặp phải lỗi nghiêm trọng trong quá trình đọc dữ liệu