Hướng dẫn how is session timeout implemented in php? - thời gian chờ của phiên được thực hiện như thế nào trong php?

Không hoạt động của người dùng đã đăng ký được kiểm tra bằng thời gian chờ phiên. Khi người dùng đăng nhập vào một trang web thì phiên sẽ tạo cho người dùng đó và phiên bị phá hủy khi đăng nhập người dùng hoặc đóng trình duyệt. Thời gian chờ phiên được sử dụng để đặt giới hạn thời gian cho sự không hoạt động của người dùng. Giả sử, nếu giới hạn thời gian chờ phiên được đặt thành 60 giây và người dùng không hoạt động trong 60 giây thì phiên của người dùng đó sẽ hết hạn và người dùng sẽ yêu cầu đăng nhập lại để truy cập trang web. Cách để đặt hoặc cập nhật thời gian chờ phiên trong PHP đã hiển thị trong hướng dẫn này.

Xử lý phiên trong PHP

Hàm session_start () được sử dụng để tạo phiên mới cho người dùng. Tên phiên mặc định là phpsessid và nó được sử dụng để kiểm tra phiên có tồn tại hay không. Nếu không tìm thấy thông tin cookie hoặc phiên thì một phiên mới sẽ được tạo cho người dùng, nếu không, phiên hiện tại sẽ được sử dụng cho người dùng.session_start() function is used to create a new session for the user. The default session name is PHPSESSID and it is used to check the session exists or not. If no cookie or session information is found then a new session will be generated for the user, otherwise, the current session will be used for the user.

Đặt thời gian chờ phiên

Giới hạn thời gian chờ của phiên có thể được đặt bằng cách đặt giá trị của hai chỉ thị trong tệp php.ini hoặc sử dụng hàm ini_set () trong tập lệnh PHP. Các chỉ thị được đưa ra dưới đây.php.ini file or using the ini_set() function in the PHP script. The directives are given below.

  1. phiên.gc_maxlifetime
  2. Nó được sử dụng để đặt giới hạn thời gian tính bằng giây để lưu trữ thông tin phiên trong máy chủ trong một thời gian dài.

  3. session.cookie_lifetime
  4. Nó được sử dụng để đặt giới hạn thời gian hết hạn cho cookie phpsessid.

Các cách để đặt giá trị thời gian chờ phiên trong PHP để xử lý phiên của người dùng đã được hiển thị trong phần này của hướng dẫn bằng cách sử dụng nhiều ví dụ.

Ví dụ-1: Đặt giá trị thời gian chờ phiên bằng các chỉ thị PHP

Tạo một tệp PHP với tập lệnh sau để biết cách thiết lập thời gian chờ phiên bằng cách sử dụng các chỉ thị PHP và các phiên xử lý dựa trên các giá trị chỉ thị. Hàm ini_set () đã được sử dụng trong tập lệnh để đặt giá trị của phiên.gc_maxlifetime và session.cookie_lifetime. Thời lượng của phiên đã được đặt thành 2 giây cho mục đích thử nghiệm. Biến SuperGlobal $ _Cookie đã được sử dụng ở đây để xử lý phiên. Phiên mới sẽ được tạo cho người dùng khi tập lệnh sẽ thực thi trong trình duyệt và sau hai giây, phiên sẽ hết hạn.ini_set() function has been used in the script to set the value of the session.gc_maxlifetime and session.cookie_lifetime directives. The duration of the session has been set to 2 seconds for testing purposes. The superglobal variable $_COOKIE array has been used here to handle the session. The new session will be generated for the user when the script will execute in the browser and after two seconds the session will be expired.

// Đặt thời gian chờ phiên trong 2 giây

$timeout=2; = 2;

// Đặt MaxLifetime của phiên

ini_set("session.gc_maxlifetime",$timeout);( "session.gc_maxlifetime", $timeout );

// Đặt tuổi thọ cookie của phiên

ini_set("session.cookie_lifetime",$timeout);( "session.cookie_lifetime", $timeout );

// Bắt đầu một phiên mới

session_start();();

// Đặt tên phiên mặc định

$s_name=session_name(); = session_name();

// Kiểm tra phiên có tồn tại hay không

if(isset($_COOKIE[$s_name])){(isset( $_COOKIE[ $s_name ] )) {

& nbsp; & nbsp; setCookie ($ s_name, $ _ cookie [$ s_name], thời gian ()+$ hết thời gian, '/');setcookie( $s_name, $_COOKIE[ $s_name ], time() + $timeout, '/' );

& nbsp; & nbsp; echo "Phiên được tạo cho $ s_name.";echo "Session is created for $s_name.
"
;

}

else

& nbsp; & nbsp; echo "Phiên đã hết hạn.";echo "Session is expired.
"
;

?>

Output:

Đầu ra sau sẽ xuất hiện sau khi thực hiện tập lệnh trên lần đầu tiên. Đầu ra hiển thị tên người dùng phiên mặc định, PHPSessID.

Hướng dẫn how is session timeout implemented in php? - thời gian chờ của phiên được thực hiện như thế nào trong php?

Đầu ra sau sẽ xuất hiện nếu trang được làm mới sau 2 giây.

Hướng dẫn how is session timeout implemented in php? - thời gian chờ của phiên được thực hiện như thế nào trong php?

Ví dụ-2: Đặt giá trị thời gian chờ phiên bằng cách sử dụng mảng $ _session

Tạo một tệp PHP với tập lệnh sau để đặt giá trị thời gian chờ phiên bằng biến SuperGlobal PHP, $ _Session. Thời gian của phiên đã được đặt thành 5 giây cho mục đích thử nghiệm. Tiếp theo, thời gian yêu cầu của người dùng cho trang đã được lưu trữ trong một biến có tên $ Time. Khi khoảng thời gian giữa biến thời gian $ và hoạt động cuối cùng của người dùng sẽ là hơn 5 giây, thì phiên hiện tại của người dùng sẽ bị phá hủy và một phiên mới sẽ được tạo. Các hàm session_unset () và session_destroy () đã được sử dụng trong tập lệnh để phá hủy phiên.$time. When the time duration between the $time variable and the user’s last activity will be more than 5 seconds, then the current session of the user will be destroyed and a new session will be generated. The session_unset() and session_destroy() functions have used in the script to destroy the session.

// Đặt thời gian chờ phiên trong 2 giây

session_start();();

// Đặt MaxLifetime của phiên

$duration=5; = 5;

// Đặt tuổi thọ cookie của phiên

$time=$_SERVER['REQUEST_TIME']; = $_SERVER['REQUEST_TIME'];

// Bắt đầu một phiên mới

if(isset($_SESSION['LAST_ACTIVITY'])&& (isset($_SESSION['LAST_ACTIVITY']) &&

// Đặt tên phiên mặc định($time - $_SESSION['LAST_ACTIVITY']) > $duration) {

// Kiểm tra phiên có tồn tại hay không//Unset the session variables

& nbsp; & nbsp; setCookie ($ s_name, $ _ cookie [$ s_name], thời gian ()+$ hết thời gian, '/');session_unset();

& nbsp; & nbsp; echo "Phiên được tạo cho $ s_name.";//Destroy the session

}session_destroy();

& nbsp; & nbsp; echo "Phiên đã hết hạn.";//Start another new session

?>session_start();

Đầu ra sau sẽ xuất hiện sau khi thực hiện tập lệnh trên lần đầu tiên. Đầu ra hiển thị tên người dùng phiên mặc định, PHPSessID.echo "New session is created.
"
;

}

else

& nbsp; & nbsp; echo "Phiên đã hết hạn.";echo "Current session exists.
"
;

?>

$_SESSION['LAST_ACTIVITY']=$time;['LAST_ACTIVITY'] = $time;

?>

Output:

Đầu ra sau sẽ xuất hiện sau khi thực hiện tập lệnh trên lần đầu tiên. Đầu ra hiển thị tên người dùng phiên mặc định, PHPSessID.

Hướng dẫn how is session timeout implemented in php? - thời gian chờ của phiên được thực hiện như thế nào trong php?

Đầu ra sau sẽ xuất hiện nếu trang được làm mới sau 2 giây.

Hướng dẫn how is session timeout implemented in php? - thời gian chờ của phiên được thực hiện như thế nào trong php?

Ví dụ-2: Đặt giá trị thời gian chờ phiên bằng cách sử dụng mảng $ _session

Tạo một tệp PHP với tập lệnh sau để đặt giá trị thời gian chờ phiên bằng biến SuperGlobal PHP, $ _Session. Thời gian của phiên đã được đặt thành 5 giây cho mục đích thử nghiệm. Tiếp theo, thời gian yêu cầu của người dùng cho trang đã được lưu trữ trong một biến có tên $ Time. Khi khoảng thời gian giữa biến thời gian $ và hoạt động cuối cùng của người dùng sẽ là hơn 5 giây, thì phiên hiện tại của người dùng sẽ bị phá hủy và một phiên mới sẽ được tạo. Các hàm session_unset () và session_destroy () đã được sử dụng trong tập lệnh để phá hủy phiên.$_SESSION, and the built-in PHP function, time(). The time() function returns the current timestamp value of the system. The time duration of the session has been set to 600 seconds (10 minutes) in the script.

$ _Session [’bắt đầu] đã được sử dụng để lưu trữ thời gian bắt đầu của phiên. Khi thời gian giữa thời gian hiện tại và thời gian bắt đầu phiên sẽ là hơn 10 phút, thì phiên hiện tại của người dùng sẽ bị phá hủy. Các hàm session_unset () và session_destroy () đã được sử dụng trong tập lệnh làm ví dụ trước để phá hủy phiên.

// Bắt đầu một phiên mới

session_start();();

// Kiểm tra thời gian bắt đầu phiên được đặt hay không

if(!isset($_SESSION['start']))(!isset($_SESSION['start']))

{

& nbsp; & nbsp; // Đặt thời gian bắt đầu phiên//Set the session start time

& nbsp; & nbsp; $ _Session ['start'] = thời gian ();$_SESSION['start'] = time();

}

// Kiểm tra phiên có hết hạn hay không

if(isset($_SESSION['start'])&&(time()-$_SESSION['start']>600)){ (isset($_SESSION['start']) && (time() - $_SESSION['start'] >600)) {

& nbsp; & nbsp; // Giải nén các biến phiên//Unset the session variables

& nbsp; & nbsp; session_unset ();session_unset();

& nbsp; & nbsp; // Phá hủy phiên//Destroy the session

& nbsp; & nbsp; session_destroy ();session_destroy();

& nbsp; & nbsp; echo "Phiên đã hết hạn.";echo "Session is expired.
"
;

}

else

// Kiểm tra phiên có hết hạn hay khôngecho "Current session exists.
"
;

& nbsp; & nbsp; // Giải nén các biến phiên

Output:

& nbsp; & nbsp; session_unset ();

Hướng dẫn how is session timeout implemented in php? - thời gian chờ của phiên được thực hiện như thế nào trong php?

& nbsp; & nbsp; // Phá hủy phiên

& nbsp; & nbsp; session_destroy ();

& nbsp; & nbsp; echo "Phiên đã hết hạn.";

Hướng dẫn how is session timeout implemented in php? - thời gian chờ của phiên được thực hiện như thế nào trong php?

& nbsp; & nbsp; echo "phiên hiện tại tồn tại.";

Điều gì xảy ra khi thời gian chờ phiên trong PHP?

Theo mặc định, một phiên trong PHP bị phá hủy khi trình duyệt bị đóng.Thời gian chờ 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.Phiên bắt đầu: Hàm Php, session_start () được sử dụng để bắt đầu một phiên trong trang web.to make the user's page inactive after a fixed time. Starting session: The PHP, session_start() function is used to start a session in the web page.

Thời gian chờ phiên hoạt động như thế nào?

Thời gian chờ phiên biểu thị sự kiện xảy ra khi người dùng không thực hiện bất kỳ hành động nào trên trang web trong một khoảng thời gian (được xác định bởi máy chủ web).Sự kiện, ở phía máy chủ, thay đổi trạng thái của phiên người dùng thành 'không hợp lệ' (nghĩa là.represents the event occuring when a user does not perform any action on a web site during an interval (defined by a web server). The event, on the server side, changes the status of the user session to 'invalid' (ie.

Thời gian chờ mặc định cho phiên trong PHP là gì?

1440 giây là mặc định thực sự là 24 phút. is the default which is actually 24 minutes.

Php thực hiện phiên như thế nào?

Một phiên PHP dễ dàng bắt đầu bằng cách thực hiện cuộc gọi đến hàm session_start ().Hàm này trước tiên kiểm tra xem một phiên đã được bắt đầu và nếu không có bắt đầu thì nó sẽ bắt đầu một.Nên đặt cuộc gọi đến session_start () ở đầu trang.making a call to the session_start() function. This function first checks if a session is already started and if none is started then it starts one. It is recommended to put the call to session_start() at the beginning of the page.