CORS는 CSRF 문제를 해결해 주지 않는다. CORS가 적용되지 않는 simple requests가 있기 때문이다. POST action으로 제출된 양식(form)이 대표적이다.
CORS가 설정돼있어도 cross-origin에서 submit 할 수 있으며, 이 과정에서 관련 쿠키가 모두 전송된다. HTTP Only와 Secure로 설정된 것도 (이어서)
서버에서 쿠키를 설정할 때 SameSite도 설정하자. CSRF를 막기 위해 나온 속성으로, Strict로 설정할 경우 다른 사이트에서 해당 쿠키가 포함된 HTTP 요청을 아예 보낼 수 없다. (물론 사용자의 클라이언트가 지원해야 되며, 지원 비율은 93.7%) caniuse.com/same-site-cookie-attribute