Cookie参数PHP中主机和域之间的区别

时间:2011-01-14 07:10:07

标签: php cookies

假设我有两个会话cookie,看起来像

第一个

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

和第二个

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

如果您可以看到第一个包含Host parameter和值,第二个包含Domain参数。 他们究竟做了什么,与他们有什么区别?

由于

1 个答案:

答案 0 :(得分:11)

根据对setcookie() function description的评论,差异如下:

  • 主持人:www.example.com

仅限于指定的主机,因此该cookie既不会对完全不同的域也不会对子域可见。如果setcookie()参数$ domain设置为空字符串,则会创建此cookie:

setcookie($name, $value, time()+3600, $path, "");
  • 域名:.www.example.com

仅限于指定的域,因此该cookie对指定域的子域(所有域,如* .www.example.com)可见。如果将setcookie()参数$ domain设置为某个域,则会创建此cookie:

setcookie($name, $value, time()+3600, $path, "www.example.com");