<커서가 말아주는 백엔드-프론트 로직 분석 결과>
🛡️ 인증/보안 관련 문제
- 인증 토큰 관리 불일치
- 백엔드: **
httpOnly: false
**로 토큰 저장
- 프론트: 쿠키에서 토큰 읽으려 시도 → 작동 불가
- 사용자 타입 전환 시 토큰 불일치
- 토큰 갱신 후 프론트에서 반영되지 않아 상태 불일치
- 토큰 갱신 무한 루프 위험
- 401 →
refreshToken()
→ 실패 시 또 401 → 무한 재시도 가능성
- CSRF 처리 불일치
- 일부 API에서만 CSRF 토큰 검증 → 보안 취약
- CSRF 토큰 저장 방식 문제
- 메모리 기반 저장 → 서버 재시작 시 무효화, 확장성 낮음
- XSS 취약점
- 사용자 입력 sanitize 불완전 → DOMPurify 미사용 부분 존재
- 토큰 저장소 보안 문제
httpOnly: false
설정 → XSS로 탈취 가능
- 파일 업로드 보안 미비
- 백엔드: 파일 타입 미검증
- 프론트: 크기 제한 없음
- 세션 관리 미흡
- 세션 타임아웃, 만료 처리 없음 → 보안 및 UX 문제
🔗 상태/동기화 문제
- 사용자 타입 전환 시 상태 불일치
hasBothProfiles
등 상태가 실제 토큰과 어긋남
- 사용자 상태 동기화 부족
- 상태 관리 중복 및 불일치
- 여러 곳에서 같은 상태 관리 → 메모리 누수 위험
- Race Condition 발생 가능
useEffect
중복 호출로 알림 fetch가 중복됨
- 타이머/이벤트소스 정리 누락
- 알림 관련
setInterval
, EventSource
정리 누락 → 메모리 누수
🧩 API 설계/호출 문제