日期:2014-05-17  浏览次数:20394 次

PHP 二级域名下使用一级域名下的COOKIE实现跨域登录

我们通常在使用cookie的时候一般都只是局限在本站内使用,也就是只在一个域名下使用。

如我们要在www.xhbin.com下使用一个cookie的话 ,只要在这个站下面的文件中设置一个cookie就行了

但是如果我们要想实现在一级域名下设置的cookie,同时要在二级域名下使用的话那么该怎么做呢??

比如这样的情况:我们在一级域名是个网站如:www.xhbin.com,他的下面有个二级域名如:bbs.xhbin.com

我们要想实现在一级域名上登录后,保留这个cookie到二级域名上,也就是说,实现同步登录的效果,

那么我们该怎么设置这个cookie??其实很简单。

就拿刚刚那个域名(www.xhbin.com)来说,我们可以这样设置cookie:setcookie(“fangbinbin”,”mengfei”,time()+3600,”/”,”.xhbin.com”);

那么我们就可以在这www.xhbin.com? 和bbs.xhbin.com下面直接使用(echo $_COOKIE['fangbinbin']; )就能够输出那个设置的cookie的值了

这样子就解决了那个同步登录的问题!!

?

当然如果涉及到3个及其以上的域名,最好都有统一的登录界面和退出界面,如登录时统一POST到一级域名的登录页面。

?

再将这个Cookie的所涉及到的用户登录Session信息保存到Key-Value类型的缓存中,如memcached、 memcachedDB 等,尽量避免写文件或者DB降低IO,提供用户体验。