SQL 인젝션 수정 + 토큰 만료 설정 + 인덱스 미적용 슬로우 쿼리 해결 경험
팀 프로젝트에서 SQL 인젝션 취약점을 처음 발견하고 수정한 경험이 보안에 관심을 갖게 된 계기였습니다. 사용자 입력을 그대로 쿼리에 붙여쓰는 코드가 있었는데, 파라미터 바인딩으로 교체하는 것만으로 대부분의 인젝션 위험이 사라지는 걸 경험했습니다. 인증 쪽에서는 토큰 만료 시간을 설정하지 않은 구조가 보안 문제라는 걸 뒤늦게 발견해서 수정했습니다. DB 도전으로는 인덱스가 없는 컬럼으로 조회했을 때 데이터가 쌓이면서 응답 시간이 급격히 느려지는 문제를 겪었습니다.
EXPLAIN ANALYZE로 풀 스캔이 일어나는 걸 확인하고, 복합 인덱스를 추가하고 자주 쓰는 조회 패턴을 정리하니 응답 시간이 크게 줄었습니다. 보안과 성능 모두 문제가 생기기 전에 설계 단계에서 고려했더라면 수정 비용이 훨씬 낮았을 것이라는 걸 그때 배웠습니다.