v2.40change journal

POP-SPOT v2.40 (1/16) — v2.40 보안 하드닝 — 엔티티 노출·IDOR·결제 무결성·토큰 폐기 + 신뢰성·CI

김동현236
#백엔드#프론트엔드#회고#트러블슈팅
v2.40 릴리즈에 포함된 Git 기록을 빠짐없이 펼친 기술 기록이다. 전문 용어는 바로 풀어 쓰고, 바뀐 모든 코드 줄을 Before → After로 비교했다.

먼저 쉽게 설명하면

v2.40 보안 하드닝 — 엔티티 노출·IDOR·결제 무결성·토큰 폐기 + 신뢰성·CI 작업이 중심이다. 이 릴리즈는 눈에 보이는 결과뿐 아니라 그 결과를 만든 파일과 코드까지 모두 추적했다.

읽는 법

  • Before는 바뀌기 전 줄이다.
  • After는 바뀐 뒤 줄이다.
  • ‘해당 코드 없음’은 새로 추가했거나 완전히 지운 구간이라는 뜻이다.
  • 영상·이미지처럼 글자로 비교할 수 없는 파일은 Git의 추가·수정·삭제 상태로 기록했다.
  • Git 기준 범위

  • 릴리즈: v2.40
  • 기준 날짜: 2026-07-23
  • 커밋: 2개
  • 파일 변경 기록: 216개
  • 추가한 줄: 12917줄
  • 삭제한 줄: 7903줄
  • 검증 ID: c3a51f342b932f6033a2f876d70594c82f94587d563436d56b44a73677604c10
  • 기준 커밋: 3ebd224a4ec9

  • 커밋 81de80d — feat(홈): 팝업 레일 정렬·필터·드래그·화살표 + pop-look 을 실인기 추천으로 + 코스 작전지도 버튼 제거변경 파일 2

    GitHub에서 이 커밋 보기

    쉬운 설명: 팝업 레일 정렬·필터·드래그·화살표 + pop-look 을 실인기 추천으로 + 코스 작전지도 버튼 제거 작업이다.

    바꾼 이유: 홈 UI 개선 4종.

    파일 수: 2개이다.


    파일 1. popspot-frontend/app/HomeClient.tsx

    파일 전체 문맥

    조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.

    파일 2. popspot-frontend/src/hooks/useDragScroll.ts

    파일 전체 문맥

    조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.

    커밋 3ebd224 — feat(security): v2.40 보안 하드닝 — 엔티티 노출·IDOR·결제 무결성·토큰 폐기 + 신뢰성·CI변경 파일 23

    GitHub에서 이 커밋 보기

    쉬운 설명: v2.40 보안 하드닝 — 엔티티 노출·IDOR·결제 무결성·토큰 폐기 + 신뢰성·CI 작업이다.

    바꾼 이유: 외부 보안 감사(34건)로 드러난 Critical/High 결함을 한 사이클에 정리한 대형 보안 릴리즈. 개인정보(이메일·전화·비밀번호 해시·권한)가 API 응답에 그대로 실리던 문제, 남의 메이트 채팅을 읽고 쓸 수 있던 IDOR, 클라이언트가 금액을 조작하거나 결제를 중복 처리할 수 있던 결제 흐름, 비밀번호 변경·탈퇴 후에도 살아있던 JWT 등을 근본 수정했다. 프론트는 대부분 Prettier 재포맷 (쌍따옴표→홑따옴표)이며, 실제 동작 변경은 아래 신뢰성/타입/보안 파일에 한정된다.

    파일 수: 214개이다.


    파일 1. .github/workflows/quality.yml

    파일 전체 문맥

    조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.

    파일 2. .gitignore

    파일 전체 문맥

    조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.

    파일 3. popspot-backend/.env.example

    파일 전체 문맥

    조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.

    파일 4. popspot-backend/build.gradle

    파일 전체 문맥

    조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.

    파일 5. popspot-backend/deploy/DEPLOY_CHECKLIST.md

    파일 전체 문맥

    조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.

    파일 6. popspot-backend/deploy/README_DEPLOY.md

    파일 전체 문맥

    조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.

    파일 7. popspot-backend/src/main/java/com/example/popspotbackend/config/JwtAuthenticationFilter.java

    파일 전체 문맥

    조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.

    파일 8. popspot-backend/src/main/java/com/example/popspotbackend/config/OAuth2SuccessHandler.java

    파일 전체 문맥

    조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.

    파일 9. popspot-backend/src/main/java/com/example/popspotbackend/config/RateLimitInterceptor.java

    파일 전체 문맥

    조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.

    파일 10. popspot-backend/src/main/java/com/example/popspotbackend/config/WebConfig.java

    파일 전체 문맥

    조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.

    파일 11. popspot-backend/src/main/java/com/example/popspotbackend/config/WebSocketConfig.java

    파일 전체 문맥

    조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.

    파일 12. popspot-backend/src/main/java/com/example/popspotbackend/controller/AdminController.java

    파일 전체 문맥

    조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.

    파일 13. popspot-backend/src/main/java/com/example/popspotbackend/controller/AuthController.java

    파일 전체 문맥

    조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.

    파일 14. popspot-backend/src/main/java/com/example/popspotbackend/controller/ChatController.java

    파일 전체 문맥

    조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.

    파일 15. popspot-backend/src/main/java/com/example/popspotbackend/controller/ClientErrorController.java

    파일 전체 문맥

    조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.

    파일 16. popspot-backend/src/main/java/com/example/popspotbackend/controller/GameController.java

    파일 전체 문맥

    조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.

    파일 17. popspot-backend/src/main/java/com/example/popspotbackend/controller/MateChatController.java

    파일 전체 문맥

    조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.

    파일 18. popspot-backend/src/main/java/com/example/popspotbackend/controller/MateController.java

    파일 전체 문맥

    조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.

    파일 19. popspot-backend/src/main/java/com/example/popspotbackend/controller/OrderController.java

    파일 전체 문맥

    조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.

    파일 20. popspot-backend/src/main/java/com/example/popspotbackend/controller/PlanningController.java

    파일 전체 문맥

    조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.

    파일 21. popspot-backend/src/main/java/com/example/popspotbackend/controller/PopupAdminReviewController.java

    파일 전체 문맥

    조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.

    파일 22. popspot-backend/src/main/java/com/example/popspotbackend/controller/PopupStoreController.java

    파일 전체 문맥

    조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.

    파일 23. popspot-backend/src/main/java/com/example/popspotbackend/controller/UserProfileController.java

    파일 전체 문맥

    조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.

    공유XLinkedIn

    댓글