我正在使用 php 的
setcookie
设置标头,例如:
setcookie('xxx', 'xxx', 'samesite'=>'Strict', 'secure'=>1, 'httponly'=>1]);
在他们的开发者工具中,Chrome 和 Edge 都显示:
xxx=xxx; secure; HttpOnly; SameSite=Strict
有一个橙色三角形,表示: “此 Set-Cookie 标头的语法无效。”当鼠标悬停在上面时。
FireFox 没有问题,它会在下一个请求中将其发送回来。
为什么会这样?
来自维基百科:
但是,某些浏览器(包括 Chrome 52 及更高版本和 Firefox 52 及更高版本)放弃此规范,以支持更好的安全性,并禁止不安全站点 (HTTP) 使用
指令设置 cookie。Secure
也许您运行的是旧版本的 FireFox? Edge 和 Chrome 警告您,根据他们更严格的规则,
secure
和 HttpOnly
之间存在矛盾。