Việc sử dụng phiên $ _ trong PHP là gì?

Trong hướng dẫn này, bạn sẽ học cách lưu trữ tạm thời một số dữ liệu nhất định trên máy chủ bằng cách sử dụng phiên PHP

Phiên là gì

Mặc dù bạn có thể lưu trữ dữ liệu bằng cookie nhưng nó có một số vấn đề về bảo mật. Vì cookie được lưu trữ trên máy tính của người dùng nên kẻ tấn công có thể dễ dàng sửa đổi nội dung cookie để chèn dữ liệu có thể gây hại vào ứng dụng của bạn, điều này có thể làm hỏng ứng dụng của bạn

Ngoài ra, 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 một trang web sẽ tự động được gửi đến máy chủ trong yêu cầu. Điều đó có nghĩa là nếu bạn đã lưu trữ 5 cookie trên hệ thống của người dùng, mỗi cookie có kích thước 4KB, trình duyệt cần tải lên 20KB dữ liệu mỗi khi người dùng xem một trang, điều này có thể ảnh hưởng đến hiệu suất trang web của bạn

Bạn có thể giải quyết cả hai vấn đề này bằng cách sử dụng phiên PHP. Phiên PHP 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. Trong môi trường dựa trên phiên, mọi người dùng được xác định thông qua một số duy nhất được gọi là mã định danh phiên hoặc SID. ID phiên duy nhất này được sử dụng để liên kết từng người dùng với thông tin của riêng họ trên máy chủ như email, bài đăng, v.v.

Mẹo. ID phiên được tạo ngẫu nhiên bởi công cụ PHP, gần như không thể đoán được. Hơn nữa, vì dữ liệu phiên được lưu trữ trên máy chủ nên nó không phải được gửi với mọi yêu cầu của trình duyệt

Bắt đầu một phiên PHP

Trước khi bạn có thể lưu trữ bất kỳ thông tin nào trong các biến phiên, trước tiên bạn phải khởi động phiên. Để bắt đầu một phiên làm việc mới, chỉ cần gọi hàm PHP

2. Nó sẽ tạo một phiên mới và tạo ID phiên duy nhất cho người dùng

Mã PHP trong ví dụ bên dưới chỉ đơn giản là bắt đầu một phiên làm việc mới

Đầu tiên, hàm

2 kiểm tra xem phiên đã tồn tại chưa bằng cách tìm kiếm sự hiện diện của ID phiên. Nếu nó tìm thấy một, tôi. e. nếu phiên đã bắt đầu, nó sẽ thiết lập các biến phiên và nếu không, nó sẽ bắt đầu một phiên mới bằng cách tạo ID phiên mới

Ghi chú. Bạn phải gọi hàm

2 ở đầu trang i. e. trước bất kỳ đầu ra nào được tạo bởi tập lệnh của bạn trong trình duyệt, giống như cách bạn thực hiện khi đặt cookie bằng chức năng 
5

Lưu trữ và truy cập dữ liệu phiên

Bạn có thể lưu trữ tất cả dữ liệu phiên của mình dưới dạng các cặp khóa-giá trị trong mảng siêu toàn cục

6. 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. Hãy xem xét tập lệnh sau, tập lệnh này tạo phiên mới và đăng ký hai biến phiên

Để truy cập dữ liệu phiên mà chúng tôi đã đặt trong ví dụ trước từ bất kỳ trang nào khác trên cùng một miền web — chỉ cần tạo lại phiên bằng cách gọi

2 rồi chuyển khóa tương ứng vào mảng kết hợp 
1

Mã PHP trong ví dụ trên tạo ra đầu ra sau

Ghi chú. Để truy cập dữ liệu phiên trong cùng một trang, không cần phải tạo lại phiên vì nó đã được bắt đầu ở đầu trang

Phá hủy một phiên

Nếu bạn muốn xóa dữ liệu phiên nhất định, chỉ cần bỏ đặt khóa tương ứng của mảng kết hợp

1, như minh họa trong ví dụ sau

Tuy nhiên, để hủy hoàn toàn một phiên, chỉ cần gọi hàm

3. Hàm này không cần bất kỳ đối số nào và một lệnh gọi sẽ hủy tất cả dữ liệu phiên

Ghi chú. Trước khi hủy một phiên bằng hàm

3, trước tiên bạn cần tạo lại môi trường phiên nếu nó chưa có ở đó bằng cách sử dụng hàm 
2 để có thứ gì đó cần hủy

Mỗi phiên PHP có một giá trị thời gian chờ — thời lượng, được tính bằng giây — xác định thời gian một phiên sẽ tồn tại trong trường hợp không có bất kỳ hoạt động nào của người dùng. Bạn có thể điều chỉnh khoảng thời gian chờ này bằng cách thay đổi giá trị của biến

6 trong tệp cấu hình PHP [
7]

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




    9

    0

    1

    0

    3

  • 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ục $_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




    9

    0

    1

    0

    90
    91____192
    93
    94
    95

    90______191____198
    93
    00
    95

    0

    3

  • 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




    9

    0

    1

    0

    08 
    09 
    10
    90
    91
    98
    14
    15
    16

    08 
    18 
    10
    90
    91
    92
    14
    15
    95

    0

    3

    đầu ra

    1
  • 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




    9

    0

    1

    31

    32
    33____190
    91
    98
    37

    38
    39____190
    91
    92
    93

    94

    0

    3

  • 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ục đích của biến phiên $_ trong PHP là gì?

    Biến phiên giải quyết vấn đề này bằng cách lưu trữ thông tin người dùng để sử dụng trên nhiều trang [e. g. tên người dùng, màu sắc yêu thích, v.v.]. Theo mặc định, các biến phiên kéo dài cho đến khi người dùng đóng trình duyệt. Vì thế; .

    Mục đích của việc sử dụng các biến phiên là gì?

    Biến phiên là biến đặc biệt chỉ tồn tại khi phiên của người dùng với ứng dụng của bạn đang hoạt động. Các biến phiên dành riêng cho từng khách truy cập vào trang web của bạn. Chúng được sử dụng để lưu trữ thông tin dành riêng cho người dùng cần được truy cập bởi nhiều trang trong ứng dụng web .

    Công dụng của hàm session_start[] và Session_destroy[] trong PHP là gì?

    session_destroy[] hủy tất cả dữ liệu được liên kết với phiên hiện tại . Nó không bỏ đặt bất kỳ biến toàn cục nào được liên kết với phiên hoặc bỏ đặt cookie phiên. Để sử dụng lại các biến phiên, session_start[] phải được gọi. Ghi chú. Bạn không cần phải gọi session_destroy[] từ mã thông thường.

    Phiên $_ có phải là Superglobal không?

    Đây là biến 'siêu toàn cầu' hoặc toàn cục tự động . Điều này đơn giản có nghĩa là nó có sẵn trong tất cả các phạm vi trong toàn bộ tập lệnh. Không cần phải làm $variable toàn cầu; .

Chủ Đề