如何在同一浏览器中为https和其他http维护两个PHPSESSID cookie

时间:2018-04-07 17:57:11

标签: php

我有一个Web应用程序,它使用标志HttpOnly,path和secure设置会话cookie PHPSESSID。仅在访问https url时设置安全。

如果通过http请求设置cookie,则为https共享相同的cookie,反之亦然。如何在同一个浏览器中使用相同的cookie名称PHPSESSID为http和其他https维护两个不同的会话。

1 个答案:

答案 0 :(得分:0)

无法为主机设置2个具有相同名称的Cookie。 Cookie与主机或域相关联,并且不考虑协议。

如果您确实想要单独的会话存储,则需要手动设置至少一个会话,以通过session_name使用不同的名称。

对于HttpOnly标志,这是浏览器的信号量,并且没有与之关联的活动服务器端行为。换句话说,该标志可能会或可能不会被服务器尊重。

这个领域中更有意义的设置是session.cookie_secure,服务器根本不会通过http发送cookie,但这不应该被解释为意味着它不会读取cookie 。如果在浏览器中设置了cookie,并且浏览器向该主机或域发出后续请求(如果使用域cookie),则浏览器将在请求中包含cookie数据。