解决session跨域读取

来源:互联网 发布:java十个数输出最小值 编辑:程序博客网 时间:2024/06/05 09:08

首先,明确以下概念

session与cookie都是为了解决http协议无状态而诞生的,由客户端浏览器保存记录一些请求信息,下次再去发http请求的时候,把记录在浏览器中的cookie读取出,发到服务器上。 session是在服务器端也对应保存一份信息,当下次发http请求时根据cookie带来的session ID去读取到这部分信息。


遇到问题,session id的生成,一般根据浏览器、域名等生成,所以,遇到诸如 xx.hot-tea.cm 与xxx.xxx.hot-tea.cn  如果session记录是在xx.hot-tea.cn时,正常 去xxx.xxx.hot-tea.cn是拿去不到这个session的,应该session ID的不同。

解决办法:

1、修改php.ini 

找到 session.cookie_domain = .youdomain.com   //将.youdomain.com配置为你的二级域名

2、在项目最开始的地方初始化配置session域

ini_set('session.cookie_domain',"..youdomain.com");//跨域访问Session

查看浏览器获取session的id  可以看到,两个域名的id一致

以上,二级域名下的子域名既可以共享session.


原创粉丝点击