繁体   English   中英

如何从共享SESSION变量的子域中排除一个子域

[英]how to exclude one subdomain from subdomains that share SESSION variable

在使用此代码使会话变量在所有子域中可见之前,我有一个无cookie的子域(静态):

session_set_cookie_params(0,'/','.example.com');

显然,这样做使我失去了“静态”子域的无cookie特性。

我如何在所有子域中都可以看到一个会话变量,而静态变量除外? 感谢您的帮助

可以在php.ini文件中设置吗

Cookie对其有效的域。

session.cookie_domain = "domain"

要么

ini_set('session.cookie_domain', '.example.com');

我遇到了与您类似的问题,我认为我的解决方案将为您的无cookie静态域提供帮助。 我已经在下面描述了我的问题和后续解决方案,因此希望您可以使用它来解决您的问题。

我想在2个子域上共享会话:

  • www.example.com
  • shop.example.com

但是排除该会话,并在

  • admin.example.com

要将会话设置为在两个域中使用,正如您所描述的,您将必须设置cookie参数:

session_set_cookie_params(0,'/','.example.com');

但是,这将与admin.example.com会话的Cookie冲突。

解决方案是在管理站点中设置会话名称 ,使其与其他站点中的会话名称不同。 例如:

session_name("AdminPHPSESSID");

有关更多信息,请参见http://www.php.net/session_name

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM