[PHP] 解决chrome新版same-site策略跨域无法记录cookie
在chrome 80版本以上,会默认开启same-site策略 samesite有以下几个值 Lax : 对同源、顶级域的请求才可以携带cookie (等价于same-site)
如果需要跨域发送cookie,请使用None枚举值选择无SameSite限制,None指令需要搭配Secure指令 PHP记录cookie方式更改,不要使用setcookie方法,直接用header方法拼接cookie: 请求必须是https,拼接必须符合cookie文本格式,例如下面这个 if (strpos($_SERVER['HTTP_USER_AGENT'],Chrome/8') !== false) { $expireTime=gmdate("D,d M Y H:i:s",time()+SID_COOKIE_EXPIRE). GMT"; header(Set-Cookie: SID=".$mailSid.; expires=".$expireTime.; path=/; domain=.sina.net; SameSite=None; Secure); Secure); } ? (编辑:北几岛) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |