我正在尝试使用session_set_cookie_params()
使用HttpOnly和Secure标记发送会话Cookie:session_set_cookie_params(0, '/', $cookie_domain, true, true)
。但是,当我这样做时,我的cookie上的域以前导.
开头。我不希望我的会话cookie被发送到任何子域,所以这不是所希望的行为。
我尝试将$cookie_domain
设置为
$_SERVER(HTTP_HOST)
preg_replace('/^\./', '', $_SERVER(HTTP_HOST))
所有结果都相同。同时,documentation表示只有在有意添加前导.
时才会发生这种情况。
如果不使用session_set_cookie_params()
参数调用$domain
,我就没有这个问题(为没有前导{{的域名设置了cookie 1}}),但是我永远无法访问.
和$secure
参数。
我可能做错了什么,我该如何解决?
答案 0 :(得分:0)
虽然我仍然希望得到更好的答案,但我现在找到了一个解决方法。我没有使用$httponly
,而是使用
session_set_cookie_params()
设置Secure和HttpOnly标志,而无需将域名传递给ini_set('session.cookie_secure', 1);
ini_set('session.cookie_httponly', 1);
。