phpredis - php Redis如何使多个域名共用一个session_id?

php中文网
发布: 2016-06-06 20:29:04
原创
1526人浏览过

解决办法:

ini_set('session.cookie_domain', '.domain.com');
登录后复制

PHP文档:
http://php.net/manual/zh/function.sessio...

http://php.net/manual/zh/session.configu...

=========================================================================
现在需要用redis存储session,由于有多个域名,
例如:
a.domain.com,domain.com,www.domain.com

其中一个登陆了就需要另外的也是登陆状态,

Beyond商城 2008修改版
Beyond商城 2008修改版

感谢广大歌迷长期以来对网站的支持和帮助,很多朋友曾经问我要过这个商城程序,当时由于工作比较忙,一直没空整理,现在好啦,已全部整理好了,在这里提供给有需要的朋友,没有任何功能限制,完全可以使用的,只是有些商品的广告需自己修改一下,后台没有办法修改,需要有HTML基础才可以修改,另外,哪位朋友在使用的时候,发现了BUG请与我们联系,大家共同改进,谢谢!后台管理地址:http://你的域名/admin/

Beyond商城 2008修改版 0
查看详情 Beyond商城 2008修改版

立即学习PHP免费学习笔记(深入)”;

就像淘宝一样,你登陆了taobao.com在tmall.com天猫中也是登陆的。session_id是一样的。
这个用redis来要配置什么?

回复内容:

解决办法:

ini_set('session.cookie_domain', '.domain.com');
登录后复制

PHP文档:
http://php.net/manual/zh/function.sessio...

http://php.net/manual/zh/session.configu...

=========================================================================
现在需要用redis存储session,由于有多个域名,
例如:
a.domain.com,domain.com,www.domain.com

其中一个登陆了就需要另外的也是登陆状态,

立即学习PHP免费学习笔记(深入)”;

就像淘宝一样,你登陆了taobao.com在tmall.com天猫中也是登陆的。session_id是一样的。
这个用redis来要配置什么?

domain.com
a.domain.com
www.domain.com
都存在一个共同的域domain.com,只要你把PHPSESSID这个cookie的域设为.domain.com,那这三个域都可以访问这个PHPSESSID的cookie,也就能读取Redis里存储的会话数据.
http://php.net/manual/zh/function.session-set-cookie-params.php

而 taobao.com 和 tmall.com 是两个完全不同的域,比如可以这样实现跨域:
用隐藏的图片请求实现跨域登录(比如登录taobao后,访问tmall发现也登录了):
taobao.com添加隐藏的图片链接访问tmall.com进行登录,生成tmall.com的Cookie(Firebug可以看到Cookies下既有taobao.com,也有tmall.com的Cookie):

<div style="display:none;">@@##@@</div>
登录后复制

其中token是一个经过加密的用户身份令牌,tmall.com拿到解密后登录对应的用户,从而生成域为tmall.com的cookie.

简单点说,把生成、保存、读取session_id的逻辑从php中独立出来就可以了,跟redis的半毛钱关系在于,以session_id为key在redis里保存用户的信息。。

我觉得楼主的问题是没搞清楚回话保持机制,建议先研究下。

@eechen 的回答我补充一下:
三个网站均用sessionsetcookie_params把session对应的cookie域设置为".domain.com"

参看
http://php.net/manual/zh/function.session-set-cookie-params.php

phpredis - php Redis如何使多个域名共用一个session_id?
相关标签:
PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号