Hướng dẫn passing session id in php - chuyển id phiên trong php

Có hai phương pháp để truyền một ID phiên:

  • Bánh quy
  • Tham số URL

Mô -đun phiên hỗ trợ cả hai phương thức. Cookie là tối ưu, nhưng vì chúng không phải lúc nào cũng có sẵn, chúng tôi cũng cung cấp một cách khác. Phương thức thứ hai nhúng ID phiên trực tiếp vào URL.

PHP có khả năng biến đổi các liên kết trong suốt. Nếu tùy chọn thời gian chạy session.use_trans_sid được bật, URI tương đối sẽ được thay đổi để chứa ID phiên tự động.

Ghi chú::

Chỉ thị arg_separator.output php.ini cho phép tùy chỉnh dấu phân cách đối số. Đối với sự phù hợp hoàn toàn XHTML, Chỉ định & amp; ở đó.

Ngoài ra, bạn có thể sử dụng hằng số SID được xác định nếu phiên bắt đầu. Nếu khách hàng không gửi cookie phiên thích hợp, nó có mẫu session_name=session_id. Nếu không, nó mở rộng sang một chuỗi trống. Vì vậy, bạn có thể nhúng nó vô điều kiện vào URL.SID which is defined if the session started. If the client did not send an appropriate session cookie, it has the form session_name=session_id. Otherwise, it expands to an empty string. Thus, you can embed it unconditionally into URLs.

Ví dụ sau đây cho thấy cách đăng ký một biến và cách liên kết chính xác với trang khác bằng SID.SID.

Ví dụ #1 đếm số lần truy cập của một người dùng

session_start

();

if (empty(

$_SESSION['count'])) {
   
$_SESSION['count'] = 1;
} else {
   
$_SESSION['count']++;
}
?>


Hello visitor, you have seen this page echo $_SESSION['count']; ?> times.


To continue, echo htmlspecialchars(SID); ?>">click
here.

HTMLSpecialchars () có thể được sử dụng khi in SID để ngăn chặn các cuộc tấn công liên quan đến XSS.htmlspecialchars() may be used when printing the SID in order to prevent XSS related attacks.

In SID, như được hiển thị ở trên, là không cần thiết nếu --Enable-trans-SID được sử dụng để biên dịch PHP.SID, like shown above, is not necessary if --enable-trans-sid was used to compile PHP.

Ghi chú::

Chỉ thị arg_separator.output php.ini cho phép tùy chỉnh dấu phân cách đối số. Đối với sự phù hợp hoàn toàn XHTML, Chỉ định & amp; ở đó.SID, as it would be a security risk to leak the SID to a different server.

Ngoài ra, bạn có thể sử dụng hằng số SID được xác định nếu phiên bắt đầu. Nếu khách hàng không gửi cookie phiên thích hợp, nó có mẫu session_name=session_id. Nếu không, nó mở rộng sang một chuỗi trống. Vì vậy, bạn có thể nhúng nó vô điều kiện vào URL.

Ví dụ sau đây cho thấy cách đăng ký một biến và cách liên kết chính xác với trang khác bằng SID.

SID1

SID2

SID3

SID4

Ví dụ #1 đếm số lần truy cập của một người dùng

HTMLSpecialchars () có thể được sử dụng khi in SID để ngăn chặn các cuộc tấn công liên quan đến XSS.

SID5

(Php 4, Php 5, Php 7, Php 8)

session_id - Nhận và/hoặc đặt ID phiên hiện tạiGet and/or set the current session id

Sự mô tả

session_id (? Chuỗi SID6 = SID7): Chuỗi | Sai(?string SID6 = SID7): string|false

Hằng số SID cũng có thể được sử dụng để truy xuất tên và ID phiên hiện tại dưới dạng chuỗi phù hợp để thêm URL. Xem thêm Xử lý phiên.SID can also be used to retrieve the current name and session id as a string suitable for adding to URLs. See also Session handling.

Thông số

SID9

Nếu SID9 được chỉ định chứ không phải SID7, nó sẽ thay thế ID phiên hiện tại. session_id () cần được gọi trước session_start () cho mục đích đó. Tùy thuộc vào trình xử lý phiên, không phải tất cả các ký tự được phép trong ID phiên. Ví dụ: Trình xử lý phiên tệp chỉ cho phép các ký tự trong phạm vi session_name=session_id2!SID7, it will replace the current session id. session_id() needs to be called before session_start() for that purpose. Depending on the session handler, not all characters are allowed within the session id. For example, the file session handler only allows characters in the range session_name=session_id2!

Lưu ý: Khi sử dụng cookie phiên, chỉ định SID9 cho session_id () sẽ luôn gửi cookie mới khi session_start () được gọi, bất kể ID phiên hiện tại có giống hệt với phần được đặt.: When using session cookies, specifying an SID9 for session_id() will always send a new cookie when session_start() is called, regardless if the current session id is identical to the one being set.

Trả về giá trị

session_id () Trả về ID phiên cho phiên hiện tại hoặc chuỗi trống (session_name=session_id4) nếu không có phiên hiện tại (không có ID phiên hiện tại tồn tại). Khi thất bại, session_name=session_id5 được trả lại. returns the session id for the current session or the empty string (session_name=session_id4) if there is no current session (no current session id exists). On failure, session_name=session_id5 is returned.

Thay đổi

Phiên bảnSự mô tả
8.0.0 SID9 bây giờ là vô hiệu.

Xem thêm

  • session_regenerate_id () - Cập nhật ID phiên hiện tại với một bản mới được tạo
  • session_start () - Bắt đầu phiên mới hoặc tiếp tục phiên hiện có
  • session_set_save_handler () - Đặt các chức năng lưu trữ phiên cấp độ người dùng
  • phiên.save_handler

Riikka K ¶

7 năm trước

session_name=session_id7

session_name=session_id8

session_name=session_id9

SID0

SID1

SID4

gmillikan tại t1shopper dot com ¶

7 năm trước

SID3

SID4

SID5

SID4

gmillikan tại t1shopper dot com ¶

AB tại IXO Point CA ¶

SID7

SID8

SID9

0

1

SID4

11 năm trước

OHCC tại 163 dot com ¶

3

6 năm trước

7 năm trước

4

5

SID4

gmillikan tại t1shopper dot com ¶

AB tại IXO Point CA ¶

7

11 năm trước

7 năm trước

8

gmillikan tại t1shopper dot com ¶

AB tại IXO Point CA ¶

9

11 năm trước

AB tại IXO Point CA ¶

session_start0

11 năm trước

OHCC tại 163 dot com ¶

session_start1

session_start2

SID4

6 năm trước

Igor Oliveira Ferreira ¶

session_start4

Ẩn danh ¶

AB tại IXO Point CA ¶

session_start5

session_start6

session_start7

session_start8

SID4

11 năm trước

OHCC tại 163 dot com ¶

();

if (empty(

$_SESSION['count'])) {
   
$_SESSION['count'] = 1;
} else {
   
$_SESSION['count']++;
}
?>


Hello visitor, you have seen this page echo $_SESSION['count']; ?> times.


To continue, echo htmlspecialchars(SID); ?>">click
here.

0

();

if (empty(

$_SESSION['count'])) {
   
$_SESSION['count'] = 1;
} else {
   
$_SESSION['count']++;
}
?>


Hello visitor, you have seen this page echo $_SESSION['count']; ?> times.


To continue, echo htmlspecialchars(SID); ?>">click
here.

1

SID4

gmillikan tại t1shopper dot com ¶

AB tại IXO Point CA ¶

();

if (empty(

$_SESSION['count'])) {
   
$_SESSION['count'] = 1;
} else {
   
$_SESSION['count']++;
}
?>


Hello visitor, you have seen this page echo $_SESSION['count']; ?> times.


To continue, echo htmlspecialchars(SID); ?>">click
here.

3

();

if (empty(

$_SESSION['count'])) {
   
$_SESSION['count'] = 1;
} else {
   
$_SESSION['count']++;
}
?>


Hello visitor, you have seen this page echo $_SESSION['count']; ?> times.


To continue, echo htmlspecialchars(SID); ?>">click
here.

4

();

if (empty(

$_SESSION['count'])) {
   
$_SESSION['count'] = 1;
} else {
   
$_SESSION['count']++;
}
?>


Hello visitor, you have seen this page echo $_SESSION['count']; ?> times.


To continue, echo htmlspecialchars(SID); ?>">click
here.

5

();

if (empty(

$_SESSION['count'])) {
   
$_SESSION['count'] = 1;
} else {
   
$_SESSION['count']++;
}
?>


Hello visitor, you have seen this page echo $_SESSION['count']; ?> times.


To continue, echo htmlspecialchars(SID); ?>">click
here.

6

();

if (empty(

$_SESSION['count'])) {
   
$_SESSION['count'] = 1;
} else {
   
$_SESSION['count']++;
}
?>


Hello visitor, you have seen this page echo $_SESSION['count']; ?> times.


To continue, echo htmlspecialchars(SID); ?>">click
here.

7

SID4

11 năm trước

AB tại IXO Point CA ¶

();

if (empty(

$_SESSION['count'])) {
   
$_SESSION['count'] = 1;
} else {
   
$_SESSION['count']++;
}
?>


Hello visitor, you have seen this page echo $_SESSION['count']; ?> times.


To continue, echo htmlspecialchars(SID); ?>">click
here.

9

SID0

SID4

11 năm trước

OHCC tại 163 dot com ¶

SID2

SID3

SID4

SID4

6 năm trước

Igor Oliveira Ferreira ¶

SID6

SID7

SID8

SID4

Ẩn danh ¶

AB tại IXO Point CA ¶

SID0

11 năm trước

OHCC tại 163 dot com ¶

SID1

6 năm trước

Igor Oliveira Ferreira ¶

SID2

SID3

SID4

SID5

SID6

Làm cách nào để chuyển ID phiên từ trang này sang trang khác trong PHP?

Điều này sẽ đảm bảo rằng chúng tôi có thể truy cập một cách an toàn biến được xác định trong trang khác, chỉ bằng cách sử dụng $ _Session ['name']. Trong PrintName. Tệp PHP, lặp lại biến tên phiên in tên chúng tôi đã nhập từ người dùng trong một trang khác. Vì vậy, đây là cách bạn truyền các biến và giá trị từ trang này sang trang khác trong PHP.

ID phiên PHP là gì?

PHP cho phép chúng tôi theo dõi từng khách truy cập thông qua ID phiên duy nhất có thể được sử dụng để tương quan dữ liệu giữa các kết nối. ID này là một chuỗi ngẫu nhiên được gửi đến người dùng khi một phiên được tạo và được lưu trữ trong trình duyệt của người dùng trong cookie (theo mặc định có tên là PHPSessID).a random string sent to the user when a session is created and is stored within the user's browser in a cookie (by default called PHPSESSID).

Làm cách nào để nhận ID phiên hiện tại trong PHP?

session_id () được sử dụng để nhận hoặc đặt ID phiên cho phiên hiện tại.SID hằng số cũng có thể được sử dụng để truy xuất tên và ID phiên hiện tại như một chuỗi phù hợp để thêm vào URL. is used to get or set the session id for the current session. The constant SID can also be used to retrieve the current name and session id as a string suitable for adding to URLs.

Ví dụ ID phiên là gì?

ID phiên có thể được xác định bởi tùy chọn dòng lệnh hoặc tài nguyên.ID phiên có thể là một giá trị duy nhất;Ví dụ: có thể xác định một bộ ID phiên, có thể xác định được; ví dụ: Smith+N trong đó n là 3 sẽ cung cấp 3 ID phiên có sẵn, Smith Smith1 ", Smith Smith2" và Hồi Smith3 ".“Smith". A set of session Ids can be defined; for example, Smith+n where n is 3 would make 3 session Ids available, “Smith1", “Smith2", and “Smith3".