我这边有2个网站,地址分别是a.xxx.com
b.xxx.com我现在要实现在a 或 b 登录后,通过写入cookie,可以保证在*.xxx.com的网站上都能登录
系统设计的是 只要写入cookie中的domain=.xxx.com 就能满足这个需求。
但我在a.xxx.com登录后写入cookie时,发现domain始终是 a.xxx.com。
我写入cookie的代码,domain=.xxx.com,但在浏览器中查看到的domain始终是  a.xxx.com

解决方案 »

  1.   

    登陆a.xxx.com时,登陆成功后,echo '<script src="http://www.b.xxx.com/get.php?userid=10000"></script>';b.xxx.com 建立get.php 
    header("P3P: CP=CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR");
    setcookie('userid',$_GET['userid'],time()+3600,'/',"www.b.xxx.com");此时在b.xxx.com下,打印var_dump($_COOKIE); 得到array(1) { ["userid"]=> string(5) "10000" }
    cookie已经生效.在登陆页面后台login.php中,查询用户userid=10000,是否存在, 存在即不用登陆直接转到主页。
      

  2.   

    请问下,我这里其实是有N个 ?.xxx.com的网址,
    要求任意一个网站登录后,写到cookie中的domain是   .xxx.com
      

  3.   

    就是单点登录的一种解决方案。你这种情况,登录提交到后台后,
    采用安全模式写入cookie的同时,
    给cookie的domain赋值,
    赋值只给xxx.com,
    不要带前缀,应该就可以了
      

  4.   

    domain的前缀,也就是二级域名,不是必须的