如果我为服务器启动如下所示的会话,并且本地主机客户端尝试通过
HTTP
请求服务器,它是否会以 session cookie
响应?
还是必须通过HTTPS?
我读了doc,它确实说只能通过 HTTPS,但我想知道 localhost 是否是一个例外。
session_start([
'cookie_secure' => true
]);
事实上,在 first 交互中,cookie 会以任何一种方式发送到浏览器。由浏览器来解释如何处理这些设置。但设置
cookie_secure
没有任何效果:cookie 已发送且有效(Chrome 122.0.626.95)。
有一种安全方法可以确保防止对 cookie 的解释,即在 cookie 名称前添加“__Secure-”前缀。
查看测试这些场景的repo。