【发布时间】:2011-01-15 06:28:49
【问题描述】:
我正在为与单个数据库通信的多个域实现登录和注册 - 我们将它们称为 i.domain-a.com 和 i.domain-b.com。这两个子域在 DNS 中都有指向单个服务器的 A 记录 - 从而使 i.domain-a.com/hello.php 和 i.domain-b.com/hello.php 运行相同的东西。
因此,如果我在域 A 上创建会话,那么我可以转到域 B 并检索相同的会话信息。要为它们实现完全独立的登录系统,使用我编写的用于处理注册的相同 PHP 函数,我是否应该基于 $_SERVER['HTTP_HOST'] 对 session_name() 做一些事情?我不确定我的情况与this guy 有多相似,希望这个问题不要太相似。
【问题讨论】:
-
我想另外,我应该问:如果为每个域使用不同的
session_name()不是一个明智的选择,那么处理这个问题的最佳方法是什么? -
您还可以在每个域的 php 应用程序的第一行设置“session.cookie_domain”[type:string] 运行时指令 (init_set())(我的答案在下面,但使用了一个调用到 session_name() 函数)