你好,这里有点麻烦。 我有domain.co.uk设置会话。当我点击domain.co.uk上的链接转到sub.domain.co.uk时,该会话未被阅读。域名 - >子域名 - 传递会话数据
我已经改变session.cookie_domain到.domain.co.uk不是仍然没有工作。还有什么需要改变?
问候, 我。
你好,这里有点麻烦。 我有domain.co.uk设置会话。当我点击domain.co.uk上的链接转到sub.domain.co.uk时,该会话未被阅读。域名 - >子域名 - 传递会话数据
我已经改变session.cookie_domain到.domain.co.uk不是仍然没有工作。还有什么需要改变?
问候, 我。
有关存储在Cookie中的会话ID的信息。如果主域设置了子域,则子域不能读取cookie。查看有关session_name & setcookie和session_id()php函数的信息。或将会话ID存储在其他地方(例如,mysql数据库) P.S .:对不起,我的英语。
我与五社同意,
我提交表单数据或SQL存储尽我所有的会话切换。然后在新的域环境中重新创建会话。
我不是100%肯定,如果有一个更简单的方法?
不知道有没有什么帮助。
巴蒂尔
在htacces传递它作为表单数据要求它通过SSL传递,否则会话劫持可能会被执行,除非它被序列化和加密等。 – grandnasty 2010-06-15 12:27:23
文件
php_value session.cookie_domain ".domain.co.uk"
,大功告成
会话数据存储在cookie中,如果您的域名google.com则只有域谷歌.com可以访问cookie会话数据,如用户名或会话ID。
dev.google.com无法访问google.com的Cookie,这意味着登录google.com的用户在访问dev.google.com时不会登录。这是除非有一些机制,例如将查询字符串中的会话ID传递给dev.google.com。
这个简单的代码将帮助你很多,只要给它一个try.it将工作100%。
<?php
session_set_cookie_params(0, '/', '.domain.co.uk');
session_start();
?>
这两个域是否由相同的PHP代码库处理? – 2010-06-17 11:29:54
有同样的问题,发现这个答案适用于我:[跨子域的PHP会话](http://stackoverflow.com/a/1457582/826668) – Kyle 2012-02-26 06:28:51
你应该看看:http:// stackoverflow。 com/questions/1064243/php-sessions-across-sub-domains – Lizard 2010-06-10 13:22:10