PHP5中Cookie详解 跨域
<?phpif ($_GET){ //注销cookie方法setcookie('name', '');setcookie('pwd', '');echo "<script>location.href='cookie.php'</script>";}if ($_POST&&$_POST){ //cookie的配置setcookie('name', $_POST,time()+3600);setcookie('pwd', $_POST,time()+3600);//让它跳转一次进行刷新echo "<script>location.href='cookie.php'</script>";} if ($_COOKIE&&$_COOKIE){ //cookie的应用echo '用户:'.$_COOKIE.'<br>密码:'.$_COOKIE;//写个超级链接注销cookie echo "<br><br><a href='cookie.php?out=out'>注销cookie</a>";}// else echo "cookie保存失败!"; else echo "请登录!!!";?><form action='' method="post">用户:<input type="text" name='uname' value=''><br><br>密码:<input type="text" name='upwd'><br><br><input type="submit" name='sub' value='登录'></form><div class="blog_content"><div class="entry">二级域名共享cookies我们通常在使用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,提供用户体验。
session 存cookie
session的生命周期是有一次,但是不同的页面要用同一个session变量的话,就需要在不同的页面加上session_start(),不然你是在另一个页面用不了session的,所以为了方便就用session_set_cookie_params把session变量存在cookie中就可以正常使用session了 ,这样就不用在每个页面都要调用session_start()
session_save_path($path);session_set_cookie_params(0, '/', '.trip166.com');session_start();
页:
[1]