PHP设置所有的子域名共享cookie


关键词

PHP cookie 跨域 共享

摘要

PHP中使用setcookie()方法来创建cookie,同时还可以在参数中设置所有的子域名都能共享此cookie。

官方给的setcookie()函数的语法如下:
bool setcookie ( string $name [, string $value = "" [, int $expire = 0 [, string $path = "" [, string $domain = "" [, bool $secure = false [, bool $httponly = false ]]]]]] )

参数说明:

name,Cookie 的名字
使用 $_COOKIE['cookiename'] 调用名为 cookiename 的 cookie。

value,Cookie 的值。此值保存在客户端,不要用来保存敏感数据。     假定 name 是 'cookiename',可以通过$_COOKIE['cookiename'] 取得其值。

expire,Cookie 过期的时间。
这是个 Unix 时间戳,即从 Unix 纪元开始的秒数。换而言之,通常用 time() 函数再加上秒数来设定 cookie 的失效期。或者用mktime()来实现。     time()+60*60*24*30 将设定 cookie 30 天后失效。如果未设定,cookie 将会在会话结束后(一般是浏览器关闭)失效。

path,Cookie 在服务器端的有效路径。
如果该参数设为 '/' 的话,cookie 就在整个 domain 内有效,如果设为 '/foo/',cookie 就只在 domain 下的 /foo/ 目录及其子目录内有效,例如 /foo/bar/。默认值为设定 cookie 的当前目录。

domain,该 cookie 有效的域名。
要使 cookie 能在如 example.com 域名下的所有子域都有效的话,该参数应该设为 '.example.com'。虽然 . 并不必须的,但加上它会兼容更多的浏览器。如果该参数设为www.example.com 的话,就只在 www 子域内有效。细节见Cookie 规范中的 tail matching。

secure,指明 cookie 是否仅通过安全的 HTTPS 连接传送。
当设成 TRUE 时,cookie 仅在安全的连接中被设置。默认值为FALSE。     0 或 1

一般我们在使用setcookie的时候,只是简单的设置一个cookie,用法如下:

setcookie('name','value');

再设置一下有效期,则:

setcookie('name','value',time()+3600); //有效期一个小时

设置所有的子域名共享cookie:

setcookie("TestCookie", $value, time()+3600, "", "splaybow.com");

这样,所有的splaybow.com及其子域名都能共享这个cookie了。

顺便说一句,要获取cookie的内容,方法如下:$_COOKIE['cookiename']

关于PHP设置所有的子域名共享cookie,本文就介绍这么多,希望对您有所帮助!


 

要饭二维码

洪哥写文章很苦逼,如果本文对您略有帮助,可以扫描下方二维码支持洪哥!金额随意,先行谢过!大家的支持是我前进的动力!

文章的版权

本文属于“洪哥笔记”原创文章,转载请注明来源地址:PHP设置所有的子域名共享cookie:http://www.splaybow.com/post/php-subdomain-share-cookie-7595.html

如果您在服务器运维、网络管理、网站或系统开发过程有需要提供收费服务,请加QQ:8771947!十年运维经验,帮您省钱、让您放心!
亲,如果有需要,先存起来,方便以后再看啊!加入收藏夹的话,按Ctrl+D

« PHP求最大值的max函数 PHP删除设置的cookie »