bibimbap/docs/changes/2026-06-29-b2-b4-fe-hardeni...

3.9 KiB

2026-06-29 B2·B4·FE 하드닝

세션: sid 20260629-175705 (resumed from 20260629-174807) 브랜치: feat/v2 최종 테스트: mvn test 361 PASS

요약

3트랙 병렬 작업: B2 프로토타입 dead code 제거, B4 의존성/세션/운영 하드닝, FE 프론트엔드 디자인 개선.


B2. 프로토타입 dead code 제거

삭제된 파일

파일 이유
src/main/java/com/pandoli365/bibimbap/abstracts/Service.java 참조 0, 세션키 "id" 불일치(활성코드는 "userId") — 인증 우회 함정
src/main/java/com/pandoli365/bibimbap/abstracts/Request.java 참조 0, dead
src/main/java/com/pandoli365/bibimbap/abstracts/Result.java 참조 0, dead
src/main/java/com/pandoli365/bibimbap/abstracts/ErrorResult.java 참조 0, dead
src/main/webapp/WEB-INF/jsp/fragments/header.jspf include 참조 0, Spring Security 의존성 없는 환경에서의 orphan
src/main/java/com/pandoli365/bibimbap/game/GameCatalog.java 빈 배열 stub, 영구 도달불가 분기

동작 변경

  • 없는 게임 ID 접근: 기존 GameCatalog fallback(redirect:/ 또는 정적뷰) → HTTP 404 (ResponseStatusException(NOT_FOUND)). 사용자 확정(D-B2-404).
  • ApiExceptionControllerAdviceResponseStatusException 핸들러 추가 — 기존 Exception catch-all 이 404를 500으로 덮던 결함 수정.

테스트

  • GameLikeControllerTest.gameDetailThrowsNotFoundWhenGameMissing 회귀 가드 추가.
  • 런타임 스모크: GET /game/99999 = 404, GET /game/3 = 200.

B4. 의존성/세션/운영 하드닝

pom.xml

변경 이전 이후
Spring Boot 버전 3.5.14-SNAPSHOT 3.5.16 (GA)
spring-snapshots repository 있음 제거
spring-snapshots pluginRepository 있음 제거
OWASP Dependency-Check plugin 없음 12.2.2 추가(빌드 비bind, 수동 실행)

application.properties (공통 base)

변경 이전 이후
ibatis/mybatis 로그 TRACE WARN
세션 쿠키 HttpOnly 미설정 true
세션 쿠키 SameSite 미설정 lax

신규 파일

  • src/main/resources/application-dev.properties — ibatis TRACE 로그 복원(로컬 개발 전용).
  • src/main/resources/application-live.propertiesserver.servlet.session.cookie.secure=true (운영 전용).

런타임 확인

Set-Cookie: JSESSIONID=...; Path=/; HttpOnly; SameSite=Lax 확인.

결정 기록


FE. 프론트엔드 디자인 개선

변경 내용

항목 변경
F1 — index 검색 위계 .advanced-search<details> 접이식으로 래핑. prefill(쿼리 파라미터) 시 open 속성 자동 부여
F2 — 다크모드 input 대비 입력 테두리 border-color: rgba(255,255,255,0.26) 강화. 적용 뷰: login·signup·index·game-detail
F5 — 터치타깃 체크박스 font-size 1.15rem. 적용 뷰: login·signup

확인

브라우저 스모크: 다크모드 토글 후 input 대비 개선, 검색 접이식 동작, 터치타깃 확대 확인.


참조