SameSite Cookie란 웹 브라우저 주소란에 표시된 도메인과 동일한 도메인에 대한 요청(API)시에만 쿠키 전송한다.
웹 브라우저의 third-party 쿠키에 대한 보안 정책이다.
동일사이트(Same Site)의 정확한 의미 : www.web.dev
와 static.web.dev
는 Same Site이다.
막지 않는다면 CSRF 공격으로 크로스 사이트 요청시 크로스 사이트에 과거에 설정됐던 쿠키가 전송
= 크로스 사이트 요청 시, 서드파티(크로스 사이트) 쿠키가 함께 전송된다면 아래의 문제 발생
chrome은 기존 same-site 속성이 기본 none 이였지만 80 버전부터 same-site 속성에 대한 정책이 Lax로 변경되었다.
First-Party-Cookie
퍼스트 파티 쿠키는 대부분 클라이언트가 웹 사이트를 처음 방문할 때 생성 된다.
Third-Party-Cookie
웹 본인에서 발행된 쿠키는 First-Party-Cookies, 다른 웹에서 발행된 쿠키는 Thrid-Party-Cookie가 있다. 그럼 웹 사이트간 쿠키를 공유하는 Second-Party-Cookie라는 용어는 없고 Second-Party-data라는 용어를 사용한다.
Second-Party-data는 두번째 웹사이트와 같은 정보를 교환할 때 사용한다.
Strict
로 설정된 쿠키는 크로스 사이트 요청에는 항상 전송되지 않습니다. 즉 퍼스트파티 쿠키 전송만 허용Strict
에 비해 상대적으로 느슨한 정책이다. 크로스 사이트 요청에는 항상 전송되지 않는다. 서드파티 쿠키라도 특수 케이스(Get, <a href>
, <link rel="perender">
엔 허용 한다.SameSite
가 탄생하기 전 쿠키와 동작하는 방식이 같다. 모두 허용(단, Secure 설정 강제 - HTTPS 미사용시 MITM 탈취 방지)참조