CORS · CSRF · XSS

같은 보안 문제가 아니라 서로 다른 경계를 막는다

출처 허용, 사용자 의도, 출력 실행 여부를 분리해 보면 Nest 설정 위치가 선명해진다.

CORS
출처 경계

브라우저가 다른 Origin 요청을 허용할지 판단한다. enableCors에서 origin, method, header, credentials를 좁힌다.

CSRF
의도 경계

로그인 세션을 빌린 쓰기 요청을 막는다. CSRF 토큰과 SameSite 쿠키를 함께 본다.

XSS
출력 경계

입력이 스크립트로 실행되지 않게 검증, 이스케이프, CSP를 조합한다.

실패 신호
origin 전체 허용, SameSite 누락, innerHTML 직접 출력

문제 신호를 방어책별로 나누면 설정 누락을 빠르게 찾을 수 있다.

Nest 대응
cors · csrf token · validation · helmet

미들웨어 하나로 끝내지 않고 요청과 응답 경계마다 확인한다.