Nói chung, phiên đề cập đến một khung giao tiếp giữa hai phương tiện. Phiên PHP được sử dụng để lưu trữ dữ liệu trên máy chủ chứ không phải máy tính của người dùng. Số nhận dạng phiên hoặc SID là một số duy nhất được sử dụng để xác định mọi người dùng trong môi trường dựa trên phiên. SID được sử dụng để liên kết người dùng với thông tin của anh ấy trên máy chủ như bài đăng, email, v.v.
Phiên tốt hơn cookie như thế nào?
Mặc dù cookie cũng được sử dụng để lưu trữ dữ liệu liên quan đến người dùng, nhưng chúng có các vấn đề bảo mật nghiêm trọng vì cookie được lưu trữ trên máy tính của người dùng và do đó chúng dễ dàng cho những kẻ tấn công sửa đổi nội dung của cookie. Việc kẻ tấn công bổ sung dữ liệu có hại vào cookie có thể dẫn đến hỏng ứng dụng.
Ngoài ra, cookie còn ảnh hưởng đến hiệu suất của trang web vì cookie gửi dữ liệu người dùng mỗi khi người dùng xem một trang. Mỗi khi trình duyệt yêu cầu một URL đến máy chủ, tất cả dữ liệu cookie cho trang web đó sẽ tự động được gửi đến máy chủ trong yêu cầu.
Dưới đây là các bước khác nhau liên quan đến phiên PHP
- Bắt đầu một phiên PHP. Bước đầu tiên là bắt đầu một phiên. Sau khi phiên bắt đầu, các biến phiên có thể được tạo để lưu trữ thông tin. Hàm PHP session_start[] được sử dụng để bắt đầu một phiên làm việc mới. Nó cũng tạo một ID phiên mới cho người dùng
Dưới đây là mã PHP để bắt đầu một phiên làm việc mới
- Lưu trữ dữ liệu phiên. Dữ liệu phiên theo cặp khóa-giá trị sử dụng mảng siêu toàn cầu $_SESSION[]. Dữ liệu được lưu trữ có thể được truy cập trong suốt thời gian tồn tại của phiên
Dưới đây là mã PHP để lưu trữ một phiên với hai biến phiên Rollnumber và Name
- Truy cập dữ liệu phiên. Dữ liệu được lưu trữ trong các phiên có thể dễ dàng truy cập bằng cách trước tiên gọi session_start[] và sau đó chuyển khóa tương ứng tới mảng kết hợp $_SESSION
Mã PHP để truy cập dữ liệu phiên với hai biến phiên Rollnumber và Name được hiển thị bên dưới
đầu ra
The Name of the student is :Ajay The Roll number of the student is :11
- Phá hủy dữ liệu phiên nhất định. Để chỉ xóa một dữ liệu phiên nhất định, có thể sử dụng tính năng chưa đặt với biến phiên tương ứng trong mảng kết hợp $_SESSION
Mã PHP để chỉ bỏ đặt biến phiên “Rollnumber” khỏi mảng phiên kết hợp
1
?>
2?>
3____507
?>
8?>
9 Phá hủy hoàn thành phiên. Hàm session_destroy[] dùng để hủy hoàn toàn một phiên làm việc. Hàm session_destroy[] không yêu cầu bất kỳ đối số nào
Một cách khác để làm cho dữ liệu có thể truy cập được trên các trang khác nhau của toàn bộ trang web là sử dụng Phiên PHP
Một phiên tạo một tệp trong một thư mục tạm thời trên máy chủ nơi các biến phiên đã đăng ký và giá trị của chúng được lưu trữ. Dữ liệu này sẽ có sẵn cho tất cả các trang trên trang web trong lần truy cập đó
Vị trí của tệp tạm thời được xác định bởi cài đặt trong tệp php. ini được gọi là phiên. Lưu đường dẫn. Trước khi sử dụng bất kỳ biến phiên nào, hãy đảm bảo rằng bạn đã thiết lập đường dẫn này
Khi một phiên được bắt đầu, những điều sau đây sẽ xảy ra -
Trước tiên, PHP tạo một mã định danh duy nhất cho phiên cụ thể đó là một chuỗi ngẫu nhiên gồm 32 số thập lục phân, chẳng hạn như 3c7foj34c3jj973hjkop2fc937e3443
Cookie có tên PHPSESSID được tự động gửi đến máy tính của người dùng để lưu trữ chuỗi nhận dạng phiên duy nhất
Một tệp được tạo tự động trên máy chủ trong thư mục tạm thời được chỉ định và mang tên của mã định danh duy nhất có tiền tố là sess_ tức là sess_3c7foj34c3jj973hjkop2fc937e3443
Khi một tập lệnh PHP muốn truy xuất giá trị từ một biến phiên, PHP sẽ tự động lấy chuỗi mã định danh phiên duy nhất từ cookie PHPSESSID và sau đó tìm trong thư mục tạm thời của nó để tìm tệp mang tên đó và có thể thực hiện xác thực bằng cách so sánh cả hai giá trị
Một phiên kết thúc khi người dùng mất trình duyệt hoặc sau khi rời khỏi trang web, máy chủ sẽ kết thúc phiên sau một khoảng thời gian định trước, thường là 30 phút
Bắt đầu một phiên PHP
Một phiên PHP có thể dễ dàng bắt đầu bằng cách gọi hàm session_start[]. Trước tiên, chức năng này kiểm tra xem một phiên đã bắt đầu chưa và nếu chưa có phiên nào bắt đầu thì nó sẽ bắt đầu một phiên. Bạn nên gọi hàm session_start[] ở đầu trang
Các biến phiên được lưu trữ trong mảng kết hợp có tên $_SESSION[]. Các biến này có thể được truy cập trong suốt thời gian tồn tại của phiên
Ví dụ sau bắt đầu một phiên, sau đó đăng ký một biến có tên là bộ đếm được tăng lên mỗi khi trang được truy cập trong phiên
Sử dụng hàm isset[] để kiểm tra xem biến phiên đã được đặt hay chưa
Đặt mã này trong một bài kiểm tra. php và tải tệp này nhiều lần để xem kết quả -
Setting up a PHP session
Nó sẽ tạo ra kết quả sau -
You have visited this page 1in this session.
Phá hủy phiên PHP
Phiên PHP có thể bị hủy bởi hàm session_destroy[]. Hàm này không cần bất kỳ đối số nào và một lệnh gọi có thể hủy tất cả các biến phiên. Nếu bạn muốn hủy một biến phiên thì bạn có thể sử dụng hàm unset[] để hủy đặt một biến phiên
Đây là ví dụ để hủy đặt một biến duy nhất -
Đây là cuộc gọi sẽ hủy tất cả các biến phiên -
Bật phiên tự động
Bạn không cần gọi hàm start_session[] để bắt đầu phiên khi người dùng truy cập trang web của bạn nếu bạn có thể đặt phiên. biến auto_start thành 1 trong php. tập tin ini
Phiên không có cookie
Có thể xảy ra trường hợp người dùng không cho phép lưu trữ cookie trên máy của họ. Vì vậy, có một phương pháp khác để gửi ID phiên tới trình duyệt
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ó sẽ có dạng session_name=session_id. Mặt khác, nó mở rộng thành một chuỗi rỗng. Do đó, bạn có thể nhúng nó vô điều kiện vào các URL
Ví dụ sau minh họa cách đăng ký một biến và cách liên kết chính xác đến một trang khác bằng SID
Làm cách nào tôi có thể truy cập biến phiên từ một trang khác trong PHP?
Làm cách nào tôi có thể truy cập biến phiên của mình ở một trang khác.Chủ Đề