TECH 으로 돌아가기
TECH HACKER NEWS 어제 2분 읽기 30 READS

개발자들이 CORS를 오해하는 진짜 이유

CORS 에러를 만나면 대부분 'API 서버가 막혀서'라고 생각하고 Access-Control-Allow-Origin을 *로 풀어버린다. 하지만 이 글의 핵심은 정반대다. CORS는 서버를 보호하는 기능이 아니라, 사용자의 브라우저를 보호하는 메커니즘이다. 기본적으로 브라우저는 어떤 출처로든 요청을 보낼 수 있다. CORS는 그 요청을 막는 게 아니라, 응답을 자바스크립트가 읽지 못하게 차단할 뿐이다. 즉 요청 자체는 이미 서버에 도달해 처리된다는 뜻이다. 그래서 'CORS가 있으니 안전하다'는 믿음은 위험하다. 특히 쿠키 기반 인증에서 Access-Control-Allow-Credentials를 켜고 Origin을 무분별하게 반영하면, 공격자 사이트가 로그인된 사용자의 자격증명으로 민감한 응답을 읽어낼 수 있다. CORS는 CSRF 방어 수단도 아니다. 핵심 교훈은 명확하다. CORS 헤더를 '에러를 없애는 스위치'로 다루지 말고, 누구에게 무엇을 읽도록 허용하는지를 의식적으로 설계하라는 것이다.

SOURCE · HACKER NEWS
원문 전체 보기 → https://fosterelli.co/developers-dont-understand-cors
SHARE
처리 중...