기본적으로 CORS는 출처 간 요청에 쿠키를 포함하지 않습니다. 이것은 JSON-P와 같은 다른 교차 출처 기술과 다릅니다. JSON-P에는 항상 요청에 쿠키가 포함되며이 동작으로 인해 사이트 간 요청 위조 ( CSRF) 라는 취약성 클래스가 발생할 수 있습니다 .
CORS에서 CSRF 취약점의 가능성을 줄이려면 CORS는 서버와 클라이언트 모두 요청시 쿠키를 포함 할 수 있음을 인정해야합니다. 이렇게하면 쿠키없이 수동적으로 발생하는 것이 아니라 쿠키가 능동적으로 결정됩니다.
클라이언트 코드가 있어야 설정된 withCredentials
상의 특성 XMLHttpRequest
에 true
권한을 부여하기 위해.
그러나이 헤더만으로는 충분하지 않습니다. 서버 는Access-Control-Allow-Credentials
헤더로 응답 해야합니다 . 이 헤더로 응답 true
한다는 것은 서버가 쿠키 (또는 다른 사용자 자격 증명)가 출처 간 요청에 포함되도록 허용한다는 것을 의미합니다.
또한 출처 간 자격 증명 요청이 작동하도록하려면 브라우저가 타사 쿠키를 차단하지 않아야 합니다.
동일 출처 또는 교차 출처 요청에 관계없이 CSRF로부터 사이트를 보호해야합니다 (특히 요청에 쿠키가 포함 된 경우).