2011-01-14 27 views
6

Giả sử tôi có hai cookie phiên mà trông giống nhưSự khác nhau giữa Host và tên miền trong các thông số Cookie PHP

Đầu tiên một

Name: d58ba4091c622661a0d46f03b412ac8b 
Content: m9ciub2u3ig59638r43uqjb8e6 
Host: www.example.com 
Path:/
Send for: Any type of connection 
Expires:Sunday, February 27, 2011 5:50:18 PM 

và thứ hai một

Name: test 
Content: kdfssdfb2ufdfjww3436detasd 
Domain: .www.example.com 
Path:/
Send for: Any type of connection 
Expires:Sunday, February 27, 2011 5:50:18 PM 

Nếu bạn có thể nhìn thấy đầu tiên chứa Host parameter và giá trị và giá trị thứ hai chứa tham số Domain. Chính xác họ làm gì và sự khác biệt là gì?

Cảm ơn

+0

Bạn có thể tìm thấy [ '$ cookie-> setDomain ($ miền)'] (https://github.com/delight- im/PHP-Cookie/blob/004cde69ec840e65c15275e09b92ecb1da06f357/src/Cookie.php # L117) hữu ích, như được tìm thấy trong [thư viện độc lập này] (https://github.com/delight-im/PHP-Cookie). Điều này xử lý một số nỗ lực bình thường hóa cho bạn. – caw

Trả lời

11

Theo ý kiến ​​để setcookie() function description, sự khác biệt như sau:

  • Host: www.example.com

bị hạn chế đến máy chủ định, vì vậy cookie này sẽ không hiển thị đối với các miền hoàn toàn khác nhau, cũng như các tên miền phụ. Cookie như vậy được tạo ra nếu setcookie() tham số $ miền được thiết lập để chuỗi rỗng:

setcookie($name, $value, time()+3600, $path, ""); 
  • miền: .www.example.com

được giới hạn miền xác định, vì vậy cookie này sẽ hiển thị cho tên miền phụ của miền được chỉ định (tất cả các tên miền như * .www.example.com). Cookie như vậy được tạo ra nếu setcookie() tham số $ miền được thiết lập để một số tên miền:

setcookie($name, $value, time()+3600, $path, "www.example.com"); 
Các vấn đề liên quan