Cú pháp để đặt cookie trong php là gì

Cookie là các tệp văn bản được lưu trữ trên máy khách và chúng được lưu giữ cho mục đích theo dõi việc sử dụng. PHP hỗ trợ cookie HTTP một cách minh bạch

Có ba bước liên quan đến việc xác định người dùng cũ –

  • Tập lệnh máy chủ gửi một bộ cookie tới trình duyệt. Ví dụ: tên, tuổi hoặc số nhận dạng, v.v.

  • Trình duyệt lưu trữ thông tin này trên máy cục bộ để sử dụng trong tương lai

  • Khi trình duyệt lần sau gửi bất kỳ yêu cầu nào đến máy chủ web thì nó sẽ gửi những thông tin cookie đó đến máy chủ và máy chủ sẽ sử dụng thông tin đó để nhận dạng người dùng

Chương này sẽ hướng dẫn bạn cách đặt cookie, cách truy cập và xóa chúng

Giải phẫu của một Cookie

Cookie thường được đặt trong tiêu đề HTTP [mặc dù JavaScript cũng có thể đặt cookie trực tiếp trên trình duyệt]. Một tập lệnh PHP đặt cookie có thể gửi các tiêu đề giống như thế này -

HTTP/1.1 200 OK
Date: Fri, 04 Feb 2000 21:03:38 GMT
Server: Apache/1.3.9 [UNIX] PHP/4.0b3
Set-Cookie: name=xyz; expires=Friday, 04-Feb-07 22:03:38 GMT; 
                 path=/; domain=tutorialspoint.com
Connection: close
Content-Type: text/html

Như bạn có thể thấy, tiêu đề Set-Cookie chứa một cặp giá trị tên, ngày GMT, đường dẫn và miền. Tên và giá trị sẽ được mã hóa URL. Trường hết hạn là hướng dẫn để trình duyệt "quên" cookie sau ngày và giờ đã cho

Nếu trình duyệt được định cấu hình để lưu trữ cookie, thì trình duyệt sẽ giữ thông tin này cho đến ngày hết hạn. Nếu người dùng trỏ trình duyệt vào bất kỳ trang nào khớp với đường dẫn và tên miền của cookie, trình duyệt sẽ gửi lại cookie đến máy chủ. Tiêu đề của trình duyệt có thể trông giống như thế này -

GET / HTTP/1.0
Connection: Keep-Alive
User-Agent: Mozilla/4.6 [X11; I; Linux 2.2.6-15apmac ppc]
Host: zink.demon.co.uk:1126
Accept: image/gif, */*
Accept-Encoding: gzip
Accept-Language: en
Accept-Charset: iso-8859-1,*,utf-8
Cookie: name=xyz

Sau đó, một tập lệnh PHP sẽ có quyền truy cập vào cookie trong các biến môi trường $_COOKIE hoặc $HTTP_COOKIE_VARS[] chứa tất cả các tên và giá trị cookie. Có thể truy cập cookie trên bằng cách sử dụng $HTTP_COOKIE_VARS["name"]

Đặt Cookies với PHP

PHP cung cấp hàm setcookie[] để đặt cookie. Hàm này yêu cầu tối đa sáu đối số và phải được gọi trước thẻ. Đối với mỗi cookie, chức năng này phải được gọi riêng

setcookie[name, value, expire, path, domain, security];

Đây là chi tiết của tất cả các đối số -

  • Tên - Cái này đặt tên của cookie và được lưu trữ trong một biến môi trường có tên là HTTP_COOKIE_VARS. Biến này được sử dụng khi truy cập cookie

  • Giá trị - Điều này đặt giá trị của biến được đặt tên và là nội dung mà bạn thực sự muốn lưu trữ

  • Hết hạn - Điều này 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. Nếu thông số này không được đặt thì cookie sẽ tự động hết hạn khi đóng Trình duyệt web

  • Đường dẫn - Điều này chỉ định các thư mục mà cookie hợp lệ. Một ký tự gạch chéo về phía trước cho phép cookie hợp lệ đối với tất cả các thư mục

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

  • Bảo mật - Có thể đặt giá trị này thành 1 để chỉ định rằng cookie chỉ được gửi bằng cách truyền an toàn bằng HTTPS nếu không được đặt thành 0, nghĩa là cookie có thể được gửi bằng HTTP thông thường

Ví dụ sau sẽ tạo hai cookie tên và tuổi, các cookie này sẽ hết hạn sau một giờ


   
   
      Setting Cookies with PHP
   
   
   
      
   
   

Truy cập Cookie bằng PHP

PHP cung cấp nhiều cách để truy cập cookie. Cách đơn giản nhất là sử dụng biến $_COOKIE hoặc $HTTP_COOKIE_VARS. Ví dụ sau sẽ truy cập tất cả các cookie được đặt trong ví dụ trên

   
   
      Accessing Cookies with PHP
   
   
   
      
      ";
         
         /* is equivalent to */
         echo $HTTP_COOKIE_VARS["name"]. "
"; echo $_COOKIE["age"] . "
"; /* is equivalent to */ echo $HTTP_COOKIE_VARS["age"] . "
"; ?>

Bạn có thể sử dụng chức năng isset[] để kiểm tra xem cookie có được đặt hay không

   
   
      Accessing Cookies with PHP
   
   
   
      
      ";
         
         else
            echo "Sorry.. Not recognized" . "
"; ?>

Xóa Cookie bằng PHP

Chính thức, để xóa cookie, bạn chỉ nên gọi setcookie[] với đối số tên nhưng điều này không phải lúc nào cũng hoạt động tốt, tuy nhiên, và không nên dựa vào

Bạn có thể đã nghe nói về cookie, nhưng chính xác chúng là gì và chúng ta có thể làm gì với chúng? . Chúng ta cũng sẽ học cách làm việc với cookie trong PHP

Cookie so với. Biến phiên

Bạn không chắc liệu mình có cần cookie hoặc biến phiên không? . Cookies là một cách để lưu trữ dữ liệu về người dùng trên máy tính của người dùng. Biến phiên thường được sử dụng trong các ứng dụng cần theo dõi hoạt động của người dùng. Cookie thường được sử dụng trong các ứng dụng cần lưu trữ thông tin về người dùng cho một trang web

Bạn cũng có thể tìm hiểu về biến phiên trong bài viết của tôi về cách sử dụng biến phiên trong PHP

  • Cách sử dụng Phiên và Biến phiên trong PHP

    Sajal Soni

    16 Th02 2021

Cookie là gì?

Hãy bắt đầu với định nghĩa

Cookie HTTP [còn được gọi là cookie web, cookie Internet, cookie trình duyệt hoặc đơn giản là cookie] là một phần dữ liệu nhỏ được trình duyệt web lưu trữ trên máy tính của người dùng khi duyệt một trang web.

Chúng tôi có thể coi cookie là tệp văn bản được lưu vào máy tính của bạn. Khi bạn yêu cầu bất kỳ trang web nào, máy chủ web sẽ gửi phản hồi của trang web đó đến trình duyệt của bạn. Cùng với phản hồi, máy chủ web cũng có thể gửi

   
   
      Accessing Cookies with PHP
   
   
   
      
      ";
         
         else
            echo "Sorry.. Not recognized" . "
"; ?>
5 tiêu đề HTTP yêu cầu trình duyệt của bạn tạo tệp cookie trên máy tính của bạn. Khi cookie được tạo cho một trang web, sau đó máy chủ web có thể đọc và ghi nội dung từ và đến các tệp này

Cookie có ngày hết hạn cùng với dữ liệu cookie. Ngày này được đặt để trình duyệt có thể xóa cookie cũ khi máy chủ web không còn cần chúng nữa. Nếu ngày hết hạn trống, cookie sẽ bị xóa khi đóng kết nối với máy chủ. Điều này xảy ra khi người dùng đóng cửa sổ hoặc tab của trang web hoặc khi người dùng đóng toàn bộ trình duyệt. Những cookie này, đôi khi được gọi là cookie phiên, chủ yếu được sử dụng để lưu trữ cài đặt tạm thời

Hãy nhanh chóng xem tiêu đề HTTP

   
   
      Accessing Cookies with PHP
   
   
   
      
      ";
         
         else
            echo "Sorry.. Not recognized" . "
"; ?>
6 trông như thế nào với ví dụ sau

Set-Cookie: LastVisitedSection=CodeTutsplus; expires=Fri, 31-Mar-2021 23:59:59 GMT; path=/; domain=.tutsplus.com

Trong ví dụ trên, máy chủ web yêu cầu trình duyệt tạo cookie

   
   
      Accessing Cookies with PHP
   
   
   
      
      ";
         
         else
            echo "Sorry.. Not recognized" . "
"; ?>
7. Trình duyệt sẽ lưu trữ
setcookie [ string $name , string $value = "" , int $expires = 0 , string $path = "" , string $domain = "" , bool $secure = false , bool $httponly = false ];
0 dưới dạng dữ liệu cookie. Tệp cookie có thể lưu trữ chuỗi văn bản hoặc số có kích thước tối đa 4KB

Thuộc tính

setcookie [ string $name , string $value = "" , int $expires = 0 , string $path = "" , string $domain = "" , bool $secure = false , bool $httponly = false ];
1 được sử dụng để chỉ định ngày hết hạn. Và do đó, cookie
   
   
      Accessing Cookies with PHP
   
   
   
      
      ";
         
         else
            echo "Sorry.. Not recognized" . "
"; ?>
7 sẽ bị xóa khỏi máy tính của bạn sau ngày
setcookie [ string $name , string $value = "" , int $expires = 0 , string $path = "" , string $domain = "" , bool $secure = false , bool $httponly = false ];
3. 31 tháng 3 năm 2021 lúc nửa đêm

Thuộc tính miền được sử dụng để chỉ định miền mà cookie sẽ hoạt động. Nếu tên miền là

setcookie [ string $name , string $value = "" , int $expires = 0 , string $path = "" , string $domain = "" , bool $secure = false , bool $httponly = false ];
4, cookie sẽ chỉ được gửi đến máy chủ của tên miền đó và nếu tên miền là
setcookie [ string $name , string $value = "" , int $expires = 0 , string $path = "" , string $domain = "" , bool $secure = false , bool $httponly = false ];
5, thì cookie sẽ được gửi đến bất kỳ máy chủ nào của bất kỳ tên miền phụ nào của Google, kể cả chính tên miền
setcookie [ string $name , string $value = "" , int $expires = 0 , string $path = "" , string $domain = "" , bool $secure = false , bool $httponly = false ];
6. Trong ví dụ của chúng tôi, cookie
   
   
      Accessing Cookies with PHP
   
   
   
      
      ";
         
         else
            echo "Sorry.. Not recognized" . "
"; ?>
7 cũng sẽ có sẵn cho
setcookie [ string $name , string $value = "" , int $expires = 0 , string $path = "" , string $domain = "" , bool $secure = false , bool $httponly = false ];
8 và bất kỳ tên miền phụ nào của
setcookie [ string $name , string $value = "" , int $expires = 0 , string $path = "" , string $domain = "" , bool $secure = false , bool $httponly = false ];
8

Đường dẫn là đường dẫn của tên miền mà cookie được gửi đến. Điều này có nghĩa là, nếu đường dẫn được đặt thành

GET / HTTP/1.0
Connection: Keep-Alive
User-Agent: Mozilla/4.6 [X11; I; Linux 2.2.6-15apmac ppc]
Host: zink.demon.co.uk:1126
Accept: image/gif, */*
Accept-Encoding: gzip
Accept-Language: en
Accept-Charset: iso-8859-1,*,utf-8
Cookie: name=xyz
50 và tên miền được đặt thành
setcookie [ string $name , string $value = "" , int $expires = 0 , string $path = "" , string $domain = "" , bool $secure = false , bool $httponly = false ];
4, thì cookie sẽ chỉ được gửi đến máy chủ nếu trình duyệt yêu cầu tệp từ
GET / HTTP/1.0
Connection: Keep-Alive
User-Agent: Mozilla/4.6 [X11; I; Linux 2.2.6-15apmac ppc]
Host: zink.demon.co.uk:1126
Accept: image/gif, */*
Accept-Encoding: gzip
Accept-Language: en
Accept-Charset: iso-8859-1,*,utf-8
Cookie: name=xyz
52. Nếu đường dẫn được đặt thành
GET / HTTP/1.0
Connection: Keep-Alive
User-Agent: Mozilla/4.6 [X11; I; Linux 2.2.6-15apmac ppc]
Host: zink.demon.co.uk:1126
Accept: image/gif, */*
Accept-Encoding: gzip
Accept-Language: en
Accept-Charset: iso-8859-1,*,utf-8
Cookie: name=xyz
53, cookie sẽ được gửi đến máy chủ bất kể vị trí của tệp được yêu cầu trên máy chủ. Trong ví dụ của chúng tôi, cookie
   
   
      Accessing Cookies with PHP
   
   
   
      
      ";
         
         else
            echo "Sorry.. Not recognized" . "
"; ?>
7 sẽ được gửi đến tất cả các trang của tên miền
setcookie [ string $name , string $value = "" , int $expires = 0 , string $path = "" , string $domain = "" , bool $secure = false , bool $httponly = false ];
8

Vì vậy, đó là cách máy chủ web tạo cookie trên máy tính của bạn. Trong phần tiếp theo, chúng ta sẽ thảo luận về mục đích của cookie

Mục đích của Cookies là gì?

Giao thức HTTP là một giao thức không trạng thái, có nghĩa là không có cách tích hợp sẵn nào để máy chủ có thể ghi nhớ một người dùng cụ thể giữa nhiều yêu cầu. Ví dụ, khi bạn truy cập một trang web, máy chủ chỉ có nhiệm vụ cung cấp nội dung của trang yêu cầu. Khi bạn truy cập các trang khác của cùng một trang web, máy chủ web sẽ diễn giải từng yêu cầu một cách riêng biệt, như thể chúng không liên quan đến nhau. Không có cách nào để máy chủ biết rằng mỗi yêu cầu bắt nguồn từ cùng một người dùng

Bây giờ, nếu bạn muốn triển khai các tính năng như đăng nhập của người dùng hoặc giỏ hàng, bạn sẽ cần xác định xem hai yêu cầu có đến từ cùng một trình duyệt hay không. Điều này là không thể với một giao thức không trạng thái. Chúng tôi cần duy trì trạng thái hoặc phiên giữa các yêu cầu được thực hiện bởi trình duyệt để xác định người dùng. Đó là nơi cookie đến để giải cứu

Cookie cho phép bạn chia sẻ thông tin trên các trang khác nhau của một trang web hoặc ứng dụng—do đó chúng giúp duy trì trạng thái. Điều này cho phép máy chủ biết rằng tất cả các yêu cầu bắt nguồn từ cùng một người dùng, do đó cho phép trang web hiển thị thông tin và tùy chọn cụ thể của người dùng

Sơ đồ sau mô tả cách thức hoạt động của giao thức HTTP với cookie

Cách tạo cookie trong PHP

Trong phần này, chúng ta sẽ thảo luận về cách bạn có thể tạo cookie trong PHP

Để tạo cookie trong PHP, bạn cần sử dụng hàm

GET / HTTP/1.0
Connection: Keep-Alive
User-Agent: Mozilla/4.6 [X11; I; Linux 2.2.6-15apmac ppc]
Host: zink.demon.co.uk:1126
Accept: image/gif, */*
Accept-Encoding: gzip
Accept-Language: en
Accept-Charset: iso-8859-1,*,utf-8
Cookie: name=xyz
56. Hãy xem cú pháp cơ bản được sử dụng để tạo cookie

setcookie [ string $name , string $value = "" , int $expires = 0 , string $path = "" , string $domain = "" , bool $secure = false , bool $httponly = false ];

Danh sách đối số trong hàm

GET / HTTP/1.0
Connection: Keep-Alive
User-Agent: Mozilla/4.6 [X11; I; Linux 2.2.6-15apmac ppc]
Host: zink.demon.co.uk:1126
Accept: image/gif, */*
Accept-Encoding: gzip
Accept-Language: en
Accept-Charset: iso-8859-1,*,utf-8
Cookie: name=xyz
56 có vẻ quen thuộc với bạn vì chúng ta đã thảo luận về hầu hết các tham số này trước đó trong bài viết này. Tuy nhiên, có thêm hai đối số,
GET / HTTP/1.0
Connection: Keep-Alive
User-Agent: Mozilla/4.6 [X11; I; Linux 2.2.6-15apmac ppc]
Host: zink.demon.co.uk:1126
Accept: image/gif, */*
Accept-Encoding: gzip
Accept-Language: en
Accept-Charset: iso-8859-1,*,utf-8
Cookie: name=xyz
58 và
GET / HTTP/1.0
Connection: Keep-Alive
User-Agent: Mozilla/4.6 [X11; I; Linux 2.2.6-15apmac ppc]
Host: zink.demon.co.uk:1126
Accept: image/gif, */*
Accept-Encoding: gzip
Accept-Language: en
Accept-Charset: iso-8859-1,*,utf-8
Cookie: name=xyz
59, rất quan trọng để hiểu

Nếu bạn đặt tham số

GET / HTTP/1.0
Connection: Keep-Alive
User-Agent: Mozilla/4.6 [X11; I; Linux 2.2.6-15apmac ppc]
Host: zink.demon.co.uk:1126
Accept: image/gif, */*
Accept-Encoding: gzip
Accept-Language: en
Accept-Charset: iso-8859-1,*,utf-8
Cookie: name=xyz
58 thành
setcookie[name, value, expire, path, domain, security];
61, cookie sẽ chỉ được tạo nếu tồn tại kết nối an toàn. Tham số
GET / HTTP/1.0
Connection: Keep-Alive
User-Agent: Mozilla/4.6 [X11; I; Linux 2.2.6-15apmac ppc]
Host: zink.demon.co.uk:1126
Accept: image/gif, */*
Accept-Encoding: gzip
Accept-Language: en
Accept-Charset: iso-8859-1,*,utf-8
Cookie: name=xyz
59 cho phép bạn chỉ tạo cookie HTTP và do đó, nó sẽ chỉ có thể truy cập được thông qua giao thức HTTP. Các cookie được đặt là HTTP sẽ không thể truy cập được bằng các ngôn ngữ kịch bản như JavaScript

Vì vậy, đó là cú pháp — chúng ta hãy xem một ví dụ trong thế giới thực

GET / HTTP/1.0
Connection: Keep-Alive
User-Agent: Mozilla/4.6 [X11; I; Linux 2.2.6-15apmac ppc]
Host: zink.demon.co.uk:1126
Accept: image/gif, */*
Accept-Encoding: gzip
Accept-Language: en
Accept-Charset: iso-8859-1,*,utf-8
Cookie: name=xyz
5

Nó sẽ tạo cookie

   
   
      Accessing Cookies with PHP
   
   
   
      
      ";
         
         else
            echo "Sorry.. Not recognized" . "
"; ?>
7 với giá trị
setcookie [ string $name , string $value = "" , int $expires = 0 , string $path = "" , string $domain = "" , bool $secure = false , bool $httponly = false ];
0 và nó sẽ hết hạn sau một giờ. Đối số đường dẫn được đặt thành
GET / HTTP/1.0
Connection: Keep-Alive
User-Agent: Mozilla/4.6 [X11; I; Linux 2.2.6-15apmac ppc]
Host: zink.demon.co.uk:1126
Accept: image/gif, */*
Accept-Encoding: gzip
Accept-Language: en
Accept-Charset: iso-8859-1,*,utf-8
Cookie: name=xyz
53, vì vậy nó sẽ được gửi tới tất cả các trang của tên miền
setcookie [ string $name , string $value = "" , int $expires = 0 , string $path = "" , string $domain = "" , bool $secure = false , bool $httponly = false ];
8

Bây giờ, chúng ta hãy xem ví dụ sau

setcookie[name, value, expire, path, domain, security];
6

Vì chúng tôi đã đặt đối số đường dẫn thành

setcookie[name, value, expire, path, domain, security];
67, nên cookie
setcookie[name, value, expire, path, domain, security];
68 sẽ chỉ được gửi nếu trình duyệt yêu cầu các trang từ
setcookie[name, value, expire, path, domain, security];
69

Bằng cách này, bạn có thể tạo cookie trong PHP. Điều quan trọng nhất cần nhớ, khi tạo cookie trong PHP, là bạn phải đặt tất cả cookie trước khi gửi bất kỳ dữ liệu nào tới trình duyệt. Cookie thuộc về tiêu đề, vì vậy bạn phải luôn khởi tạo cookie mới trước bất kỳ đầu ra nào. Điều này bao gồm các lệnh


   
   
      Setting Cookies with PHP
   
   
   
      
   
   

60 hoặc

   
   
      Setting Cookies with PHP
   
   
   
      
   
   

61 và các thẻ

   
   
      Setting Cookies with PHP
   
   
   
      
   
   

62 hoặc

   
   
      Setting Cookies with PHP
   
   
   
      
   
   

63

Cách đọc cookie trong PHP

Đọc cookie trong PHP rất đơn giản. Bạn cần sử dụng biến superglobal


   
   
      Setting Cookies with PHP
   
   
   
      
   
   

64 để đọc các cookie có sẵn. Trên thực tế, biến

   
   
      Setting Cookies with PHP
   
   
   
      
   
   

64 là một mảng chứa tất cả các cookie

Hãy cùng xem đoạn trích sau


   
   
      Setting Cookies with PHP
   
   
   
      
   
   

6

Bạn có thể sử dụng chức năng


   
   
      Setting Cookies with PHP
   
   
   
      
   
   

66 hoặc

   
   
      Setting Cookies with PHP
   
   
   
      
   
   

67 để kiểm tra tất cả các cookie có sẵn cho mục đích gỡ lỗi

   
   
      Accessing Cookies with PHP
   
   
   
      
      ";
         
         /* is equivalent to */
         echo $HTTP_COOKIE_VARS["name"]. "
"; echo $_COOKIE["age"] . "
"; /* is equivalent to */ echo $HTTP_COOKIE_VARS["age"] . "
"; ?>
5

Thật dễ dàng để đọc cookie trong PHP

Trong phần tiếp theo, chúng ta sẽ xem cách xóa cookie

Cách xóa cookie trong PHP

Sẽ rất thú vị nếu bạn biết rằng bạn cũng có thể sử dụng hàm

GET / HTTP/1.0
Connection: Keep-Alive
User-Agent: Mozilla/4.6 [X11; I; Linux 2.2.6-15apmac ppc]
Host: zink.demon.co.uk:1126
Accept: image/gif, */*
Accept-Encoding: gzip
Accept-Language: en
Accept-Charset: iso-8859-1,*,utf-8
Cookie: name=xyz
56 để xóa cookie. Điều thú vị là bạn cần đặt ngày hết hạn trong quá khứ và sau đó cookie sẽ bị xóa

Hãy xem nó hoạt động trong ví dụ sau

   
   
      Accessing Cookies with PHP
   
   
   
      
      ";
         
         /* is equivalent to */
         echo $HTTP_COOKIE_VARS["name"]. "
"; echo $_COOKIE["age"] . "
"; /* is equivalent to */ echo $HTTP_COOKIE_VARS["age"] . "
"; ?>
7

Như bạn có thể thấy, trước đây chúng tôi đã chỉ định ngày hết hạn bằng cách đặt thành


   
   
      Setting Cookies with PHP
   
   
   
      
   
   

69. Điều quan trọng cần lưu ý là chúng tôi cũng đã sử dụng hàm
   
   
      Accessing Cookies with PHP
   
   
   
      
      ";
         
         /* is equivalent to */
         echo $HTTP_COOKIE_VARS["name"]. "
"; echo $_COOKIE["age"] . "
"; /* is equivalent to */ echo $HTTP_COOKIE_VARS["age"] . "
"; ?>
50 để xóa cookie
   
   
      Accessing Cookies with PHP
   
   
   
      
      ";
         
         else
            echo "Sorry.. Not recognized" . "
"; ?>
7 khỏi biến siêu toàn cục

   
   
      Setting Cookies with PHP
   
   
   
      
   
   

64 để đảm bảo rằng cookie
   
   
      Accessing Cookies with PHP
   
   
   
      
      ";
         
         else
            echo "Sorry.. Not recognized" . "
"; ?>
7 không thể truy cập được sau này trong mã

Các phương pháp hay nhất để sử dụng cookie trong PHP

Để kết thúc, tôi muốn tổng hợp một số thực tiễn tốt nhất

  • Không bao giờ chèn dữ liệu nhạy cảm vào cookie. Một khách hàng có thể đang duyệt trên máy tính công cộng, vì vậy đừng để lại bất kỳ thông tin cá nhân nào
  • Không bao giờ tin tưởng dữ liệu đến từ cookie. Luôn lọc chuỗi và số. Máy khách có thể thay đổi cookie theo ý muốn, vì vậy kẻ tấn công có thể ghi dữ liệu độc hại vào cookie để thực hiện điều gì đó mà bạn không muốn dịch vụ của mình thực hiện
  • Cố gắng ước tính thời gian cookie sẽ có hiệu lực và đặt ngày hết hạn tương ứng. Bạn không muốn làm hỏng máy tính của khách hàng bằng các cookie cũ được đặt hết hạn sau một trăm năm
  • Luôn đặt cờ
       
       
          Accessing Cookies with PHP
       
       
       
          
          ";
             
             /* is equivalent to */
             echo $HTTP_COOKIE_VARS["name"]. "
    "; echo $_COOKIE["age"] . "
    "; /* is equivalent to */ echo $HTTP_COOKIE_VARS["age"] . "
    "; ?>
    54 và
       
       
          Accessing Cookies with PHP
       
       
       
          
          ";
             
             /* is equivalent to */
             echo $HTTP_COOKIE_VARS["name"]. "
    "; echo $_COOKIE["age"] . "
    "; /* is equivalent to */ echo $HTTP_COOKIE_VARS["age"] . "
    "; ?>
    55 khi có thể. Nếu ứng dụng của bạn không chỉnh sửa cookie bằng JavaScript, hãy bật
       
       
          Accessing Cookies with PHP
       
       
       
          
          ";
             
             /* is equivalent to */
             echo $HTTP_COOKIE_VARS["name"]. "
    "; echo $_COOKIE["age"] . "
    "; /* is equivalent to */ echo $HTTP_COOKIE_VARS["age"] . "
    "; ?>
    55. Nếu bạn luôn có kết nối HTTPS, hãy bật
       
       
          Accessing Cookies with PHP
       
       
       
          
          ";
             
             /* is equivalent to */
             echo $HTTP_COOKIE_VARS["name"]. "
    "; echo $_COOKIE["age"] . "
    "; /* is equivalent to */ echo $HTTP_COOKIE_VARS["age"] . "
    "; ?>
    54. Điều này cải thiện tính toàn vẹn và bảo mật của dữ liệu

Sự kết luận

Hôm nay, chúng ta đã thảo luận về những điều cơ bản về cookie và cách sử dụng chúng trong PHP. Một chủ đề liên quan là phiên và biến phiên. Bạn có thể tìm hiểu cách sử dụng phiên và biến phiên trong PHP ngay tại Envato Tuts+

Làm cách nào để đặt cookie trong PHP?

Hàm PHP setcookie[] .
$cookie_name = "người dùng";
nếu[. isset[$_COOKIE[$cookie_name]]] { echo "Cookie name '". $cookie_name. "' không được đặt. "; } khác {.
.
.

Cú pháp của cookie là gì?

Cú pháp. setcookie[tên, giá trị, hết hạn, đường dẫn, miền, bảo mật, chỉ http]; Chỉ cần tham số tên. Tất cả các tham số khác là tùy chọn.

Làm cách nào để đặt cookie trong PHP để đăng nhập?

Đăng nhập hệ thống bằng cookie sử dụng cơ sở dữ liệu PHP và MYSQL .
bánh quy là gì?.
Tạo bảng cơ sở dữ liệu MYSQL bằng truy vấn. .
Chèn dữ liệu vào bảng cơ sở dữ liệu để đăng nhập bằng cookie bằng PHP. .
Tạo tệp kết nối. .
Tạo form đăng nhập HTML kèm theo code PHP. .
Tạo tập lệnh PHP cho hệ thống đăng nhập bằng cookie

Làm cách nào để sử dụng Session_set_cookie_params?

Hiệu lực của chức năng này chỉ tồn tại trong thời gian của tập lệnh. Vì vậy, bạn cần phải gọi session_set_cookie_params[] cho mọi yêu cầu và trước khi session_start[] được gọi . Hàm này cập nhật các giá trị ini thời gian chạy của các khóa cấu hình PHP ini tương ứng có thể được truy xuất bằng hàm ini_get[].

Chủ Đề