不想要的领先。在会话cookie的域中

时间:2016-02-17 16:57:11

标签: php session-cookies

我正在尝试使用session_set_cookie_params()使用HttpOnly和Secure标记发送会话Cookie:session_set_cookie_params(0, '/', $cookie_domain, true, true)。但是,当我这样做时,我的cookie上的域以前导.开头。我希望我的会话cookie被发送到任何子域,所以这不是所希望的行为。

我尝试将$cookie_domain设置为

  1. $_SERVER(HTTP_HOST)
  2. preg_replace('/^\./', '', $_SERVER(HTTP_HOST))
  3. 包含我的域名
  4. 的字符串文字

    所有结果都相同。同时,documentation表示只有在有意添加前导.时才会发生这种情况。

    如果使用session_set_cookie_params()参数调用$domain,我就没有这个问题(为没有前导{{的域名设置了cookie 1}}),但是我永远无法访问.$secure参数。

    我可能做错了什么,我该如何解决?

1 个答案:

答案 0 :(得分:0)

虽然我仍然希望得到更好的答案,但我现在找到了一个解决方法。我没有使用$httponly,而是使用

session_set_cookie_params()

设置Secure和HttpOnly标志,而无需将域名传递给ini_set('session.cookie_secure', 1); ini_set('session.cookie_httponly', 1);