Yii - Bánh quy

Cookie là các tệp văn bản thuần túy được lưu trữ ở phía máy khách. Bạn có thể sử dụng chúng cho mục đích theo dõi.

Có ba bước để xác định người dùng cũ -

  • Máy chủ gửi một tập hợp các cookie đến máy khách (trình duyệt). Ví dụ: id hoặc mã thông báo.

  • Trình duyệt lưu trữ nó.

  • Lần tới khi trình duyệt gửi yêu cầu đến máy chủ web, nó cũng sẽ gửi các cookie đó để máy chủ có thể sử dụng thông tin đó để xác định người dùng.

Cookie thường được đặt trong tiêu đề HTTP như được hiển thị trong đoạn mã sau.

HTTP/1.1 200 OK
Date: Fri, 05 Feb 2015 21:03:38 GMT
Server: Apache/1.3.9 (UNIX) PHP/4.0b3
Set-Cookie: name = myname; expires = Monday, 06-Feb-16 22:03:38 GMT;
   path = /; domain = tutorialspoint.com 
Connection: close
Content-Type: text/html

PHP cung cấp setcookie() chức năng đặt cookie -

setcookie(name, value, expire, path, domain, security);

ở đâu -

  • name - Đặt tên của cookie và được lưu trữ trong một biến môi trường gọi là HTTP_COOKIE_VARS.

  • value - Đặt giá trị của biến được đặt tên.

  • expiry - Chỉ định thời gian trong tương lai tính bằng giây kể từ 00:00:00 GMT ngày 1 tháng 1 năm 1970. Sau thời gian này, cookie sẽ không thể truy cập được.

  • path - Chỉ định các thư mục mà cookie hợp lệ.

  • domain- Điều này có thể được sử dụng để xác định tên miền trong các miền rất lớn. Tất cả cookie chỉ hợp lệ cho máy chủ và miền đã tạo ra chúng.

  • security - Nếu được đặt thành, có nghĩa là cookie chỉ nên được gửi bằng HTTPS, nếu không, khi được đặt thành 0, cookie có thể được gửi bằng HTTP thông thường.

Để truy cập cookie bằng PHP, bạn có thể sử dụng $_COOKIE or $HTTP_COOKIE_VARS biến.

<?php 
   echo $_COOKIE["token"]. "<br />"; /* is equivalent to */ echo $HTTP_COOKIE_VARS["token"]. "<br />"; 
   echo $_COOKIE["id"] . "<br />"; /* is equivalent to */ echo $HTTP_COOKIE_VARS["id"] . "<br />"; 
?>

Để xóa cookie, bạn nên đặt cookie với ngày đã hết hạn.

<?php 
   setcookie( "token", "", time()- 60, "/","", 0); 
   setcookie( "id", "", time()- 60, "/","", 0); 
?>