php cookie跨域设置

时间:2016-07-24
正常的cookie只能在一个应用中共享,即一个cookie只能由创建它的应用获得。但有的时候我们需要设置某一cookie能被另外一个网站共享,这是后涉及到cookie跨域的问题,本文章向大家介绍php cookie如何实现跨域。

比如:

A 网站的域名为:www.aaa.com,并且有一文件index.php
B 网站的域名为:www.bbb.com,并且有一文件main.php

现在我们在index.php文件里面设置一个cookie, 并要求改cookie能被b网站所访问,这时候cookie 的设置方法如下:

setcookie( "mycookie",  "value1",  time()+3600,  "/", "www.bbb.com", 1 );
/* http://www.manongjc.com/article/1255.html */

这样在b网站里就可以取到cookie

再来一个实例:

跨域共享cookie的方法:设置cookie.setDomain(".jszx.com"); 
A机所在的域:home.langchao.com,A有应用cas 
B机所在的域:jszx.com,B有应用webapp_b 
1)在cas下面设置cookie的时候,增加cookie.setDomain(".jszx.com");,这样在webapp_b下面就可以取到cookie。 

2)这个参数必须以“.”开始。 

3)输入url访问webapp_b的时候,必须输入域名才能解析。比如说在A机器输入:http://lc-bsp.jszx.com:8080/webapp_b,可以获取cas在客户端设置的cookie,而B机器访问本机的应用,输入:http://localhost:8080/webapp_b则不可以获得cookie。 

4)设置了cookie.setDomain(".jszx.com");,还可以在默认的home.langchao.com下面共享。