Phiên php và cookie là gì?

Khi bạn làm việc với một ứng dụng, bạn mở ứng dụng đó, thực hiện một số thay đổi rồi đóng ứng dụng đó. Điều này giống như một Phiên. Máy tính biết bạn là ai. Nó biết khi nào bạn bắt đầu ứng dụng và khi nào bạn kết thúc. Nhưng trên internet có một vấn đề. máy chủ web không biết bạn là ai hoặc bạn làm gì vì địa chỉ HTTP không duy trì trạng thái

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ẽ được 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ẹo. Nếu bạn cần lưu trữ vĩnh viễn, bạn có thể muốn lưu trữ dữ liệu trong cơ sở dữ liệu

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

Một phiên được bắt đầu với hàm session_start[]

Các biến phiên được đặt với biến toàn cục PHP. $_SESSION

Bây giờ, hãy tạo một trang mới có tên "demo_session1. php". Trong trang này, chúng tôi bắt đầu một phiên PHP mới và đặt một số biến phiên

Thí dụ

// Bắt đầu phiên làm việc
phiên_bắt đầu[];
?>


// Đặt biến phiên
$_SESSION["favcolor"] = "xanh lục";
$_SESSION["favanimal"] = "mèo";
echo "Các biến phiên được thiết lập. “;
?>


Chạy ví dụ »

Ghi chú. Hàm session_start[] phải là thứ đầu tiên trong tài liệu của bạn. Trước bất kỳ thẻ HTML nào

Nhận các giá trị biến phiên PHP

Tiếp theo, chúng tôi tạo một trang khác có tên "demo_session2. php". Từ trang này, chúng tôi sẽ truy cập thông tin phiên mà chúng tôi đã đặt trên trang đầu tiên ["demo_session1. php"]

Lưu ý rằng các biến phiên không được chuyển riêng lẻ cho từng trang mới, thay vào đó chúng được truy xuất từ ​​phiên mà chúng tôi mở ở đầu mỗi trang [_______0_______]

Cũng lưu ý rằng tất cả các giá trị biến phiên được lưu trữ trong biến $_SESSION toàn cầu

Thí dụ

phiên_bắt đầu[];
?>


// Các biến phiên lặp lại đã được đặt ở trang trước
echo "Màu yêu thích là ". $_SESSION["màu yêu thích"]. "
“;
echo "Con vật yêu thích là ". $_SESSION["favanimal"]. ". “;
?>


Chạy ví dụ »

Một cách khác để hiển thị tất cả các giá trị biến phiên cho phiên người dùng là chạy đoạn mã sau

Thí dụ

phiên_bắt đầu[];
?>


print_r[$_SESSION];
?>


Chạy ví dụ »

Làm thế nào nó hoạt động?

Hầu hết các phiên đặt khóa người dùng trên máy tính của người dùng trông giống như thế này. 765487cf34ert8dede5a562e4f3a7e12. Sau đó, khi một phiên được mở trên một trang khác, nó sẽ quét máy tính để tìm khóa người dùng. Nếu khớp thì truy cập phiên đó, nếu không thì bắt đầu phiên mới

Phiên và cookie được sử dụng bởi các trang web khác nhau để lưu trữ dữ liệu của người dùng trên các trang khác nhau của trang web. Cả phiên và cookie đều quan trọng vì chúng theo dõi thông tin do khách truy cập cung cấp cho các mục đích khác nhau. Sự khác biệt chính giữa cả hai là các phiên được lưu ở phía máy chủ, trong khi cookie được lưu trên trình duyệt của người dùng hoặc phía máy khách. Ngoài ra, còn có nhiều sự khác biệt khác giữa cả hai. Trong chủ đề này, chúng ta sẽ hiểu mô tả chi tiết về phiên và cookie cũng như cách cả hai được phân biệt với nhau

Phiên là gì?

  • Một phiên được sử dụng để lưu trữ tạm thời thông tin trên máy chủ sẽ được sử dụng trên nhiều trang của trang web. Là tổng thời gian sử dụng cho một hoạt động. Phiên người dùng bắt đầu khi anh ta đăng nhập vào một ứng dụng mạng cụ thể và kết thúc khi người dùng đăng xuất khỏi ứng dụng hoặc tắt hệ thống
  • Khi chúng tôi làm việc trên một ứng dụng qua internet, máy chủ web không biết người dùng do giao thức HTTP không duy trì trạng thái. Thông tin do người dùng cung cấp trên một trang của ứng dụng [Giả sử Trang chủ] sẽ không được chuyển sang trang khác. Để loại bỏ giới hạn này, các phiên được sử dụng. Phiên bắt đầu bất cứ khi nào khách truy cập vào trang web lần đầu tiên
  • Thông tin người dùng được lưu trữ trong các biến phiên và các biến này có thể lưu trữ bất kỳ loại giá trị hoặc loại dữ liệu nào của Đối tượng
  • Các giá trị phiên được bảo mật nhiều vì chúng được lưu trữ ở dạng nhị phân hoặc dạng mã hóa và chỉ có thể được giải mã tại máy chủ. Các giá trị phiên sẽ tự động bị xóa khi người dùng tắt hệ thống hoặc đăng xuất khỏi ứng dụng. Để lưu trữ các giá trị vĩnh viễn, chúng ta cần lưu trữ chúng trong cơ sở dữ liệu
  • Mỗi phiên là duy nhất cho mỗi người dùng và bất kỳ số lượng phiên nào cũng có thể được sử dụng trong một ứng dụng;
  • Người dùng được xác định với sự trợ giúp của sessionID, đây là một số duy nhất được lưu bên trong máy chủ. Nó được lưu dưới dạng cookie, trường biểu mẫu hoặc URL

làm việc của phiên

Hoạt động của một phiên có thể được hiểu với sự trợ giúp của sơ đồ bên dưới

  1. Trong bước đầu tiên, máy khách yêu cầu máy chủ thông qua phương thức GET hoặc POST
  2. SessionID được tạo trên máy chủ và nó lưu sessionID vào cơ sở dữ liệu. Nó trả về sessionId với một cookie như một phản hồi cho khách hàng
  3. Cookie với sessionID được lưu trữ trên trình duyệt được gửi trở lại máy chủ. Máy chủ so khớp điều này với ID phiên đã lưu và gửi phản hồi HTTP 200

Tại sao sử dụng phiên?

  • Các phiên được sử dụng để lưu trữ thông tin như UserID trên máy chủ một cách an toàn hơn, nơi không thể kiểm soát được thông tin đó
  • Nó cũng có thể chuyển thông tin dưới dạng giá trị từ trang web này sang trang web khác
  • Nó có thể được sử dụng thay thế cho cookie cho các trình duyệt không hỗ trợ cookie để lưu trữ các biến theo cách an toàn hơn

Cookie là gì?

  • Cookie là một tệp văn bản nhỏ được lưu trữ trên máy tính của người dùng. Kích thước tệp tối đa của cookie là 4KB. Nó còn được gọi là cookie HTTP, cookie web hoặc Cookie internet. Bất cứ khi nào người dùng truy cập trang web lần đầu tiên, trang web sẽ gửi các gói dữ liệu dưới dạng cookie đến máy tính của người dùng
  • Cookie giúp các trang web theo dõi lịch sử duyệt web hoặc thông tin giỏ hàng của người dùng khi họ truy cập trang web của họ
  • Nó chỉ lưu trữ kiểu dữ liệu "Chuỗi"
  • Thông tin được lưu trữ trong cookie không an toàn vì thông tin này được lưu trữ ở định dạng văn bản ở phía máy khách, bất kỳ ai cũng có thể đọc được
  • Chúng tôi có thể bật hoặc tắt cookie theo yêu cầu
  • Các cookie do người dùng tạo chỉ được hiển thị cho họ và không người dùng nào khác có thể xem các cookie đó
  • Cookie được tạo và chia sẻ giữa máy chủ và trình duyệt với sự trợ giúp của tiêu đề HTTP
  • Đường dẫn lưu cookie do trình duyệt quyết định, vì Internet explorer thường lưu trữ chúng trong Thư mục Tệp Internet Tạm thời
  • Khi chúng tôi truy cập kênh YouTube và tìm kiếm một số bài hát, lần sau bất cứ khi nào chúng tôi truy cập YouTube, cookie sẽ đọc lịch sử duyệt web của chúng tôi và hiển thị các bài hát tương tự hoặc các bài hát được phát lần cuối

Tạo Cookie bằng PHP

Để tạo cookie trong PHP, chúng ta cần sử dụng hàm setcookie[] và nó phải xuất hiện trước thẻ. Cú pháp của chức năng này được đưa ra dưới đây

cú pháp

Thí dụ

setcookie["Userid", "1005", "thời gian[]+3600"];

Thuộc tính cookie

  • Tên. Nó xác định tên của cookie
  • Giá trị. Nó xác định giá trị của cookie
  • Hết hiệu lực. Nó chỉ định thời gian cookie sẽ hết hạn. Nếu nó không được sử dụng hoặc được đặt thành 0, cookie sẽ bị xóa vào cuối phiên
  • Đường dẫn. Nó xác định đường dẫn máy chủ của cookie. Nếu nó được đặt thành "/", cookie sẽ có sẵn trong miền hoàn chỉnh
  • Lãnh địa. Nó xác định tên miền của cookie. Nếu chúng ta đặt nó là "javatpoint. com", nó sẽ có sẵn cho tất cả các tên miền phụ của javatpoint. com
  • Chắc chắn. Nó chỉ định rằng nếu cookie chỉ được truyền qua HTTPS hay không. Nếu nó được đặt là True, điều đó có nghĩa là cookie sẽ chỉ được đặt cho kết nối được bảo mật
  • Chỉ HTTP. Nếu nó được đặt thành TRUE, cookie sẽ có thể truy cập được thông qua giao thức HTTP

Tại sao lại sử dụng Cookies?

HTTP là một giao thức không trạng thái; . Với mục đích này, chúng tôi có thể sử dụng Cookies. Nó cho phép chúng tôi lưu trữ thông tin trên máy tính của người dùng và theo dõi trạng thái của các ứng dụng

Sự khác biệt chính giữa Phiên và Cookie

  • Phiên là các tệp phía máy chủ lưu trữ thông tin người dùng, trong khi Cookie là các tệp phía máy khách chứa thông tin người dùng trên máy tính cục bộ
  • Phiên phụ thuộc vào cookie, trong khi Cookie không phụ thuộc vào Phiên
  • Phiên kết thúc khi người dùng đóng trình duyệt hoặc đăng xuất khỏi ứng dụng, trong khi Cookie hết hạn vào thời gian đã đặt
  • Một phiên có thể lưu trữ nhiều dữ liệu như người dùng muốn, trong khi Cookie có kích thước giới hạn là 4KB

Bảng khác biệt giữa Cookie và Phiên

SessionCookies Một phiên lưu trữ các biến và giá trị của chúng trong một tệp trong một thư mục tạm thời trên máy chủ. Cookies được lưu trữ trên máy tính của người dùng dưới dạng tệp văn bản. Phiên kết thúc khi người dùng đăng xuất khỏi ứng dụng hoặc đóng trình duyệt web của mình. Cookie kết thúc theo thời gian tồn tại do người dùng đặt. Nó có thể lưu trữ một lượng dữ liệu không giới hạn. Nó chỉ có thể lưu trữ dữ liệu hạn chế. Chúng tôi có thể lưu trữ bao nhiêu dữ liệu tùy thích trong một phiên nhưng có giới hạn bộ nhớ tối đa mà một tập lệnh có thể sử dụng cùng một lúc và đó là 128 MB. Kích thước tối đa của cookie của trình duyệt là 4 KB. Chúng ta cần gọi hàm session_start[] để bắt đầu phiên làm việc. Chúng tôi không cần gọi một chức năng để bắt đầu cookie vì nó được lưu trữ trong máy tính cục bộ. Trong PHP, để đặt dữ liệu phiên, biến toàn cục $_SESSION được sử dụng. Trong PHP, để lấy dữ liệu từ cookie, biến toàn cục $_COOKIE được sử dụng. Trong PHP, để hủy hoặc xóa dữ liệu được lưu trữ trong một phiên, chúng ta có thể sử dụng hàm session_destroy[] và để bỏ đặt một biến cụ thể, chúng ta có thể sử dụng hàm unset[]. Chúng tôi có thể đặt ngày hết hạn để xóa dữ liệu của cookie. Nó sẽ tự động xóa dữ liệu tại thời điểm cụ thể đó. Không có chức năng cụ thể để xóa dữ liệu. Các phiên được bảo mật hơn so với cookie vì chúng lưu dữ liệu ở dạng mã hóa. Cookie không an toàn vì dữ liệu được lưu trữ trong tệp văn bản và nếu bất kỳ người dùng trái phép nào có quyền truy cập vào hệ thống của chúng tôi, anh ta có thể kiểm soát dữ liệu

Phần kết luận

Từ cuộc thảo luận ở trên, chúng ta có thể hiểu rõ hơn về cookie và phiên cũng như sự khác biệt giữa chúng. Do đó, chúng tôi có thể kết luận rằng phiên là một cách để lưu trữ tạm thời thông tin người dùng ở phía máy chủ, trong khi cookie lưu trữ thông tin trên máy tính của người dùng cho đến khi hết hạn

Sự khác biệt giữa phiên và cookie trong PHP là gì?

Cookie và Phiên được sử dụng để lưu trữ thông tin. Cookie chỉ được lưu trữ trên máy phía máy khách, trong khi các phiên được lưu trữ trên máy khách cũng như máy chủ .

Phiên và cookie là gì?

Một phiên bắt đầu khi bạn khởi chạy một trang web hoặc ứng dụng web và kết thúc khi bạn rời khỏi trang web hoặc đóng cửa sổ trình duyệt của mình. Cookie phiên chứa thông tin được lưu trữ ở vị trí bộ nhớ tạm thời sẽ bị xóa sau khi phiên kết thúc. Không giống như các cookie khác, cookie phiên không bao giờ được lưu trữ trên thiết bị của bạn

Phiên trong PHP là gì?

Phiên là cách lưu trữ thông tin [ở dạng biến] để sử dụng trên nhiều trang . Không giống như cookie, thông tin không được lưu trữ trên máy tính của người dùng.

Sự khác biệt chính giữa phiên và cookie là gì?

Phiên vs Cookie – Sự khác biệt giữa chúng

Chủ Đề