Khi người dùng đăng nhập, tôi đăng ký tên người dùng làm biến phiên, vì vậy mỗi trang tôi đều kiểm tra biến này. nếu phiên hết thời gian chờ (26 phút). Tôi sử dụng mã để chuyển hướng đến thư đăng nhập. php lại
Mã này sẽ hoạt động. Nhưng vấn đề là tôi đăng nhập và rời khỏi máy tính của mình hơn 1 ngày
Khi tôi nhấp vào liên kết một lần nữa, nó sẽ chuyển hướng đến loginmail. php nhưng phiên vẫn còn hiệu lực nên tôi vẫn có thể lướt phần thành viên. Tôi không biết tại sao phiên không hết thời gian?
Khi người dùng không hoạt động và quên đăng xuất khỏi trang web, điều đó có thể gây ra sự cố bảo mật. Vì vậy, khi trình duyệt bị đóng, theo mặc định, phiên PHP sẽ bị hủy
Tại đây, bạn sẽ tìm hiểu cách bắt đầu một phiên và cách sửa đổi phiên đó một cách chính xác bằng cách sử dụng PHP
Bây giờ, hãy xem cách bắt đầu một phiên sử dụng các hàm PHP
Nếu bạn muốn bắt đầu một phiên làm việc với PHP, bạn có thể sử dụng hàm session_start(). Cú pháp sử dụng như sau
Sau khi bắt đầu một phiên, bạn có thể tạo các biến phiên để sử dụng chúng trong tương lai
Bạn có thể tạo chúng và lưu trữ chúng trong các biến bằng cách hành động như hình bên dưới
- Tạo biến phiên 'var1' và gán giá trị 3 cho nó
- Gán một biến cho phiên
$username="Michael"; $_SESSION['username']=$username;
Sau khi tạo phiên và các biến của nó, bạn có thể xóa chúng
Nếu bạn muốn xóa một phiên cụ thể, bạn có thể chạy lệnh này
Để hủy phiên hoàn toàn, bạn có thể hành động như thế này
Hãy tưởng tượng, tồn tại một trang đăng nhập và nút "Đăng nhập". Sau khi nhấp vào nút đó, phiên bắt đầu và các biến được đặt. Biến phiên để lưu trữ thời gian đăng nhập được sắp xếp. Sau đó, nó được chuyển hướng đến trang chủ của người dùng
Hãy xem một ví dụ về các hành động trên trang đăng nhập
Để giữ phiên trên trang chủ, bạn nên gọi hàm session_start(). Nó cho phép lấy các biến phiên từ trang. Để tính thời gian hiện tại, bạn có thể sử dụng hàm time(). Cần lưu ý rằng sự khác biệt giữa biến phiên được tạo tại thời điểm đăng nhập và thời gian hiện tại không được vượt quá thời gian chờ mong muốn. Khi thời lượng vượt quá, phiên sẽ bị hủy. Do đó, trang sẽ được chuyển hướng đến trang đăng nhập
Để hiểu rõ hơn về những gì đang xảy ra trên trang chủ, hãy xem ví dụ bên dưới
Hàm PHP này được sử dụng để bắt đầu một phiên mới hoặc tiếp tục phiên hiện có. Khi session_start được chạy, PHP gọi trình xử lý lưu phiên mở và đọc. Nó có thể là một trình xử lý lưu sẵn có, được cung cấp theo mặc định hoặc bởi các phần mở rộng của PHP
Làm cách nào để thay đổi thời gian chờ của phiên trong PHP?
Cải thiện bài viết
Lưu bài viết
Thích bài viết
- Độ khó. Trung bình
- Cập nhật lần cuối. 19 tháng 5 năm 2021
Cải thiện bài viết
Lưu bài viết
Trong PHP, các phiên được duy trì để kiểm tra xem người dùng có hoạt động không. Khi người dùng không hoạt động và người dùng quên đăng xuất khỏi trang web, có khả năng những người dùng khác đang xem trang gây ra vi phạm an ninh. Theo mặc định, một phiên trong PHP bị hủy khi đóng trình duyệt. Thời gian chờ của phiên có thể được tùy chỉnh để làm cho trang của người dùng không hoạt động sau một thời gian cố định.
Bắt đầu phiên. Hàm PHP, session_start() được sử dụng để bắt đầu một phiên trong trang web.
Cú pháp.
Biến phiên. Sau khi bắt đầu phiên, các biến phiên có thể được tạo để sử dụng trong tương lai. Các biến phiên có thể được tạo và các giá trị có thể được lưu trữ trong các biến đó như sau.
Cú pháp.
- Việc tạo biến phiên với tên biến 'var1' và gán giá trị '5' cho nó có thể được thực hiện như.
- Việc gán một biến cho một biến phiên có thể được thực hiện như.
Hủy các biến phiên và phiên. Để loại bỏ tất cả các biến phiên được khởi tạo trước khi hủy phiên, nên sử dụng lệnh sau.
Cú pháp.
- Để hủy phiên nhất định, nên sử dụng lệnh sau.
- Để hủy phiên hoàn chỉnh, nên sử dụng lệnh sau.
Thay đổi thời gian chờ của phiên. Xem xét có một trang đăng nhập với nút 'Đăng nhập' ở dạng HTML. Khi người dùng nhấp vào nút 'Đăng nhập', phiên bắt đầu và các biến phiên được đặt. Một biến phiên để lưu trữ thời gian đăng nhập được khởi tạo. Sau đó nó được chuyển hướng đến trang chủ của người dùng.
- Trang đăng nhập.
php
session_destroy();9
$_SESSION['var1']=5;0
$_SESSION['var1']=5;1
$_SESSION['var1']=5;2 $_SESSION['var1']=5;3 $_SESSION['var1']=5;0 $_SESSION['var1']=5;1 $_SESSION['var1']=5;2 $_SESSION['var1']=5;3
$_SESSION['var1']=5;4 $_SESSION['var1']=5;5 $_SESSION['var1']=5;0 $_SESSION['var1']=5;1 $_SESSION['var1']=5;8 $_SESSION['var1']=5;9
$username="John"; $_SESSION['username']=$username;0$username="John"; $_SESSION['username']=$username;1
$username="John"; $_SESSION['username']=$username;0______33 $_SESSION['var1']=5;1$username="John"; $_SESSION['username']=$username;5$username="John"; $_SESSION['username']=$username;6 $_SESSION['var1']=5;2$username="John"; $_SESSION['username']=$username;8
$username="John"; $_SESSION['username']=$username;0session_unset();0
$username="John"; $_SESSION['username']=$username;0______33 $_SESSION['var1']=5;1____44session_unset();5
_______30____47____48session_unset();9
session_destroy();0
session_destroy();1
Trên trang chủ, để duy trì phiên làm việc, hàm session_start() được gọi. Điều này cho phép chúng tôi truy xuất các biến phiên từ trang này. Sử dụng hàm time(), thời gian hiện tại có thể được tính. Sự khác biệt giữa thời gian hiện tại và biến phiên được tạo tại thời điểm đăng nhập không được vượt quá thời gian chờ mong muốn. Khi vượt quá thời lượng, phiên sẽ bị hủy và trang được chuyển hướng đến trang Đăng nhập.
Thích nếu Thời gian chờ phiên = 10 phút. Phiên sẽ tự động bị hủy sau 10 phút = 10*60 giây = 600 giây
- Trang chủ.
php
session_destroy();9
$_SESSION['var1']=5;1
session_destroy();4
$_SESSION['var1']=5;4 $_SESSION['var1']=5;5$username="John"; $_SESSION['username']=$username;3 $_SESSION['var1']=5;1$username="John"; $_SESSION['username']=$username;5session_destroy();90
session_destroy();91
$username="John"; $_SESSION['username']=$username;0______24session_destroy();94$username="John"; $_SESSION['username']=$username;3 $_SESSION['var1']=5;1session_unset();4session_destroy();98
$username="John"; $_SESSION['username']=$username;0session_destroy();91
$_SESSION['var1']=5;01 $_SESSION['var1']=5;02
$_SESSION['var1']=5;01 $_SESSION['var1']=5;04
$_SESSION['var1']=5;01session_unset();7____607session_unset();9
$username="John"; $_SESSION['username']=$username;0session_destroy();0
session_destroy();0
$_SESSION['var1']=5;12
session_destroy();91
_______30____47____607____49
session_destroy();0
session_destroy();1
Ghi chú cá nhân của tôi arrow_drop_up
Tiết kiệm