是否可以在子域上的PHP应用程序和我的其他子域上的Ruby应用程序之间共享会话?
我真的不知道从哪里拿这个。我知道我可以手动将域设置为根域,以便cookie对所有子域都有效,但是如何从/向会话获取/设置内容以便在子域之间共享?
我主要想用它来共享我的整个子域名的登录。
为了知识,如果这是一个错误的方法来处理问题,虽然这是一个可行的方法,但我想了解如何做到这一点,以及我为什么不这样做。
谢谢大家!
答案 0 :(得分:6)
如果您想以这种方式共享会话(跨越PHP / Java / Ruby / etc),您需要从数据库中保存会话(并访问它们)。
请参阅:http://php.net/manual/en/function.session-set-save-handler.php
你需要在Ruby中使用相同的方法。
要跨域共享Cookie,您还需要将session.cookie_domain
的PHP会话配置选项从默认的""
(插入您的域名)更改为:".yourhost.com"
(注意前缀期。)
答案 1 :(得分:2)
这可以通过共享相同数据库的应用程序以及一些cookie的帮助来解决。
存储工作站或浏览器的某种独特信息是明智的,这样就可以通过复制cookie来窃取会话。