【问题标题】:session_set_cookie_params on multi-domain sites多域网站上的 session_set_cookie_params
【发布时间】:2011-02-18 20:08:49
【问题描述】:

我目前正在为一个应用程序 (www.domain.se, .eu) 进行开发,在该应用程序中,我们遇到了会话无法跨域传播的问题。 Internet Explorer 是造成这种情况的根本原因,因为它会根据我们输入的是“domain.se”还是“www.domain.se”来区分会话。由于一些不幸的重定向,我们无法将用户保持在用户输入的同一地址上,而是在登录时始终重定向到 www.domain.se。不用说,IE用户在输入“domain.se”时是无法登录的。

为了消除此错误,我们实现了一个函数,通过执行以下操作尝试将会话设置为在所有可能的域中有效:

if($_SERVER['HTTP_HOST'] == "domain.se") {
session_set_cookie_params(3600, '/', '.domain.se', true);
}

根据用户输入的地址,我们基本上会经历一些 if:s,但第三个参数保持不变。

但是,这会导致任何人都无法登录,无论域如何。我已经尝试阅读 session_set_cookie_params() 的工作原理,但无济于事。

非常感谢任何帮助!

【问题讨论】:

    标签: php session session-variables


    【解决方案1】:

    好吧,你的参数有问题。 经验法则是:不要触摸你不知道的参数。 所以,就这样吧

    session_set_cookie_params(0, '/', '.domain.se');
    

    没有任何条件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-06-10
      • 1970-01-01
      • 1970-01-01
      • 2012-08-08
      • 2015-07-04
      • 1970-01-01
      相关资源
      最近更新 更多