setcookie('samesite-test', '1', 0, '/; samesite=strict');
=>
Set-Cookie: samesite-test=1; path=/; samesite=strict
- SameSite
- 외부 페이지에 쿠키를 전송할 범위를 선언하는 값
- Strict : 주소창의 도메인과 다른 경우 쿠키 제공 안함
- Lax : 주소창의 도메인과 다른 경우 쿠키 특수한 경우만 제공함
- None : 주소창과 도메인이 다른 곳에도 쿠키를 제공한다.
- 크롬 80의 경우 None 설정이 필요하면, Secure를 필수 적으로 같이 적용해야한다.(HTTPS 필수)(크롬 80 부터 강제)
- PHP
- https://github.com/GoogleChromeLabs/samesite-examples/blob/master/php.md
- 7.3 부터 setcookie 에 option 파라메터로 지원
- setcookie('same-site-cookie', 'foo', ['samesite' => 'Lax']);
setcookie('cross-site-cookie', 'bar', ['samesite' => 'None', 'secure' => true]);
- 그 이하라면
- header('Set-Cookie: same-site-cookie=foo; SameSite=Lax');
header('Set-Cookie: cross-site-cookie=bar; SameSite=None; Secure'); - setcookie('samesite-test', '1', 0, '/; samesite=strict');