Next.js 15에서 로그인 흐름 구축하기 (세션, 쿠키, CSRF, 그리고 아무도 이야기하지 않는 타이밍 공격)
(dev.to)
Next.js 15 환경에서 보안이 강화된 로그인 시스템을 구축하기 위한 아키텍처와 구현 전략을 다룹니다. 세션 토큰의 해싱 저장, 사용자 열거 방지를 위한 에러 메시지 처리, 그리고 IP 기반 검증의 위험성 등 실무적인 보안 방어 기법을 상세히 설명합니다.
이 글의 핵심 포인트
- 1세션 토큰을 DB에 직접 저장하지 않고 SHA-256 해시값으로 저장하여 DB 유출 시 재사용 방지
- 2사용자 열거 공격을 막기 위해 로그인 실패 시 '이메일 또는 비밀번호가 틀림'이라는 동일한 에러 메시지 사용
- 3