PHP Cookie – Cách sử dụng Cookies trong PHP

PHP Cookie là một cách để lưu trữ thông tin trên trình duyệt của người dùng. Cookie được sử dụng để xác định người dùng và giữ cho người dùng đăng nhập khi họ di chuyển trên trang web của bạn.

Cookie được tạo ra bởi máy chủ và lưu trữ trên trình duyệt của người dùng. Mỗi lần khi người dùng gửi yêu cầu đến máy chủ, cookie được nhúng vào yêu cầu. Như vậy, cookie có thể được nhận tại phía máy chủ. Nói một cách đơn giản, cookie có thể được tạo, gửi và nhận tại phía máy chủ.

Lập Trình Viên mời bạn cùng tham khảo chi tiết nội dung bên dưới. Bài viết này nằm trong chuyên đề hướng dẫn PHP từ cơ bản đến nâng cao tại dự án Phát Triển Website.

PHP Cookie là gì ?

PHP Cookie là một loại cookie được sử dụng trong PHP. Cookie này được tạo ra và lưu trữ trên trình duyệt của người dùng. Nó được sử dụng để xác định người dùng và giữ cho người dùng đăng nhập khi họ di chuyển trên trang web của bạn.

Lưu ý rằng nếu bạn muốn sử dụng PHP Cookie, bạn phải đặt mã của nó trước thẻ HTML. Điều này đảm bảo cookie được tạo ra và gửi đến trình duyệt của người dùng trước khi nó bắt đầu render các phần tử HTML.

PHP setcookie() function

Hàm setcookie() trong PHP được sử dụng để thiết lập cookie với phản hồi HTTP. Một khi cookie được thiết lập, bạn có thể truy cập nó bằng biến siêu toàn cục $_COOKIE. Dưới đây là cú pháp ví dụ cho hàm setcookie():

setcookie(name, value, expire, path, domain, secure, httponly);

Trong đó:

  • name: Tên của cookie.
  • value: Giá trị của cookie.
  • expire: Thời gian sống của cookie (theo giây).
  • path: Đường dẫn trên máy chủ mà cookie có thể được sử dụng.
  • domain: Tên miền mà cookie có thể được sử dụng.
  • secure: Chỉ định liệu cookie có được gửi qua kênh an toàn HTTPS hay không.
  • httponly: Không cho phép mã JavaScript truy cập vào cookie.

Dưới đây là ví dụ cho việc sử dụng hàm setcookie():

setcookie("username", "John Doe", time()+3600, "/");

Trong ví dụ này, tên của cookie là “username”, giá trị của cookie là “John Doe”, thời gian sống của cookie là 1 giờ (3600 giây), và đường dẫn cho cookie là “/”.

PHP $_COOKIE

Biến siêu toàn cục $_COOKIE trong PHP được sử dụng để lấy giá trị của cookie. Dưới đây là ví dụ:

echo $_COOKIE["username"];

Trong ví dụ này, chúng ta đang lấy giá trị của cookie với tên “username”.

PHP Cookie Example

Dưới đây là một ví dụ về việc sử dụng PHP Cookie:

<?php
setcookie("username", "John Doe", time()+3600, "/");
?>
<html>
<head>
<title>PHP Cookie Example</title>
</head>
<body>
<?php
if(isset($_COOKIE["username"]))
    echo "Welcome " . $_COOKIE["username"] . "!";
else
    echo "Sorry, cookie is not found!";
?>
</body>
</html>

Kết quả khi bạn chạy mã này sẽ được hiển thị trên trình duyệt của bạn như sau:

Welcome John Doe!

Với ví dụ này, khi bạn truy cập trang web, cookie sẽ được tạo ra với tên là “username” và giá trị là “John Doe”. Khi bạn load lại trang web, giá trị của cookie sẽ được lấy từ $_COOKIE và hiển thị lên trang.

PHP Delete Cookie

Nếu bạn muốn xóa cookie, bạn có thể đặt thời gian sống của nó thành một thời điểm trong quá khứ. Điều này sẽ khiến cho trình duyệt xóa cookie này. Dưới đây là ví dụ:

setcookie("username", "", time()-3600);

Trong ví dụ này, chúng ta đã đặt thời gian sống của cookie là 1 giờ trước đó. Điều này sẽ khiến trình duyệt xóa cookie có tên là “username”.

Cách triển khai PHP Cookie

Để sử dụng PHP Cookie, bạn cần phải biết cách tạo, đọc và xóa cookie. Dưới đây là hướng dẫn chi tiết:

  1. Tạo cookie: Sử dụng hàm setcookie() để tạo cookie với các thông số tên, giá trị và thời gian sống.
  2. Đọc cookie: Sử dụng biến siêu toàn cục $_COOKIE để lấy giá trị của cookie.
  3. Xóa cookie: Đặt thời gian sống của cookie thành một thời điểm trong quá khứ để xóa cookie.

Cookies là một tập tin nhỏ được lưu trữ trên máy tính của người dùng bởi trình duyệt web. Cookies được sử dụng để lưu trữ thông tin về người dùng, chẳng hạn như tên người dùng, mật khẩu, hoặc các tùy chọn cài đặt.

Cách tạo cookie

Để tạo cookie, chúng ta sử dụng hàm setcookie(). Hàm này có cú pháp như sau:

setcookie(name, value, expires, path, domain, secure, httponly);

Trong đó:

  • name là tên của cookie.
  • value là giá trị của cookie.
  • expires là thời gian cookie hết hạn.
  • path là đường dẫn nơi cookie được lưu trữ.
  • domain là tên miền nơi cookie được lưu trữ.
  • secure là giá trị boolean chỉ định liệu cookie chỉ có thể được gửi qua kết nối HTTPS hay không.
  • httponly là giá trị boolean chỉ định liệu cookie chỉ có thể được truy cập bởi máy chủ web hay không.

Ví dụ

<?php

// Tạo cookie có tên "username" với giá trị "John Doe".
// Cookie sẽ hết hạn sau 30 ngày.

setcookie("username", "John Doe", time() + 86400 * 30);

?>

Lấy cookie

Để lấy cookie, chúng ta sử dụng biến $_COOKIE. Biến này là một mảng chứa tất cả các cookie được gửi bởi trình duyệt web.

Ví dụ

<?php

// Lấy cookie có tên "username".

$username = $_COOKIE["username"];

echo $username;

?>

Xóa cookie

Để xóa cookie, chúng ta có thể đặt giá trị của cookie thành một chuỗi rỗng hoặc sử dụng hàm unset().

Ví dụ

<?php

// Xóa cookie có tên "username".

setcookie("username", "", time() - 1);

// Hoặc

unset($_COOKIE["username"]);

?>

Một số lưu ý khi triển khai PHP Cookie

  • Cookies có thể bị hack hoặc giả mạo. Chúng ta nên sử dụng các biện pháp bảo mật để ngăn chặn điều này.
  • Cookies có thể bị chặn bởi trình duyệt web. Chúng ta nên kiểm tra xem trình duyệt web của người dùng có cho phép cookies hay không.

Một số ví dụ khác

Ngoài các ví dụ trên, chúng ta có thể sử dụng PHP Cookie để thực hiện các tác vụ sau:

  • Lưu trữ thông tin đăng nhập của người dùng.
  • Lưu trữ trạng thái của trang web.
  • Theo dõi hành vi của người dùng.
  • Cá nhân hóa trải nghiệm của người dùng.

Ưu và Nhược điểm PHP Cookie

Ưu điểm:

  • Giúp lưu trữ thông tin của người dùng.
  • Dễ sử dụng và triển khai.
  • Cho phép bạn theo dõi hoạt động của người dùng trên trang web của bạn.

Nhược điểm:

  • Có thể bị lộ thông tin cá nhân của người dùng.
  • Người dùng có thể tắt cookie trên trình duyệt của họ.
  • Cookie không được mã hóa, nó có thể được đọc bởi ai đó nếu họ có được quyền truy cập vào trình duyệt của người dùng.

Lời khuyên PHP Cookie

Khi sử dụng PHP Cookie, bạn nên lưu ý các vấn đề bảo mật. Tránh lưu trữ thông tin cá nhân nhạy cảm trong cookie và mã hóa cookie nếu cần thiết. Ngoài ra, bạn nên cho phép người dùng tắt cookie nếu họ muốn.

Kết luận

Như vậy, chúng ta đã tìm hiểu về PHP Cookie và cách sử dụng chúng trên trang web của bạn. Chúng ta cũng đã biết được các lưu ý quan trọng khi sử dụng PHP Cookie như tạo, đọc và xóa cookie, và các ưu và nhược điểm của nó. Để sử dụng PHP Cookie an toàn và hiệu quả, hãy luôn lưu ý các vấn đề bảo mật và cho phép người dùng kiểm soát việc sử dụng cookie trên trình duyệt của họ. 

Cookie là gì?

Cookie là một cách để lưu trữ thông tin trên trình duyệt của người dùng.

Làm thế nào để tạo cookie trong PHP?

Sử dụng hàm setcookie() để tạo cookie với các thông số tên, giá trị và thời gian sống.

Làm thế nào để đọc cookie trong PHP?

Sử dụng biến siêu toàn cục $_COOKIE để lấy giá trị của cookie.

Làm thế nào để xóa cookie trong PHP?

Đặt thời gian sống của cookie thành một thời điểm trong quá khứ để xóa cookie.

Cookie có nhược điểm gì?

Cookie có thể bị lộ thông tin cá nhân của người dùng và người dùng có thể tắt cookie trên trình duyệt của họ.