cookie在顶级域名和子域名之间共享|三体教程
文章目录

cookie在顶级域名和子域名之间共享设置

标题中的这个问题是小编今天遇到的,做了一个子站使用二级域名。

要想完成的功能是,不管是在顶级域名还是子域名创建的cookie要共享。

比方说在santii.com登录后保存cookie,在m.santii.com中要能够使用此cookie。

当退出后,在m.santii.com中也退出。

反之就是在m.snatii.com中登录或退出后,顶级域名也要一起登录或退出。

试了好久,才找到正确的方法。

使用过的错误的方法这里就不写出来了,直接上正确代码吧!

小编用的jquery.cookie。

var date = new Date();
date.setTime(date.getTime() + (7*24*60*60*1000));//1天
$.cookie('santii_loginid','1', { expires: date,path:'/',domain:'santii.com'});

就上面代码就可以了。

最主要的就是domain设置。

顶级域名只能设置domain为顶级域名,不能将其设置为二级或三级域名等等,否则cookie将无法创建。

下面是详细的讲解,清晰明了,相信小伙伴们一看就懂。

以下方法在santii.com域名下设置。

jquery cookie

javascript代码$.cookie("santii_loginid","1", { expires: date});//santii.com自己可以看到
$.cookie("santii_loginid","1", { expires: date,path:"/",domain:"santii.com"});//*.santii.com都可以看到(包括子域名)
$.cookie("santii_loginid","1", { expires: date,path:"/",domain:"www.santii.com"});//*.www.santii.com都可以看到
$.cookie("santii_loginid","1", { expires: date,path:"/",domain:"m.santii.com"});//设置无效,无法创建cookie

php cookie

php代码setcookie("santii_loginid", "1", time() + 1000);//santii.com自己可以看到
setcookie("santii_loginid", "1", time() + 1000, "/", "santii.com");//*.santii.com都可以看到(包括子域名)
setcookie("santii_loginid", "1", time() + 1000, "/", "www.santii.com");//*.www.santii.com都可以看到
setcookie("santii_loginid", "1", time() + 1000, "/", "m.santii.com");//设置无效,无法创建cookie

需要注意的是,在设置domain的时候,.santii.com和santii.com是一样的效果。

但是当domain没有指定的时候,默认的domain为在哪个域名下访问就是哪个。

本文网址:http://www.santii.com/article/139.html


数据更新时间:2018-07-23