session跨域读取

2018-07-07  本文已影响0人  sean92_

首先,明确以下概念

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.

上一篇 下一篇

猜你喜欢

热点阅读