백로그
0할 일
0진행 중
0리뷰
0완료 (전체)
2API CSRF 보호 수정 + JS CSRF 토큰 전송
## 작업 내용 1. app/controllers/api/bible/highlights_controller.rb에서 `skip_before_action :verify_authenticity_token` 제거 2. JS fetch 호출에서 X-CSRF-Token 헤더 포함하도록 수정 3. 관련 Stimulus 컨트롤러/JS 파일에서 CSRF 토큰 전송 추가 4. 기존 테스트 수정 (CSRF 토큰 포함) ## 완료 기준 - skip_before_action 제거 - JS에서 CSRF 토큰 전송 - 전체 테스트 통과 (bin/rails test)
QT 세션 N+1 쿼리 최적화 + IDOR 접근 제어
## 작업 내용 (2개 티켓 통합) ### A. N+1 쿼리 최적화 1. members 액션: @participants.map에서 user.user_meditations N+1 → includes 또는 SQL 집계 2. rankings 액션: users.map에서 유저별 4개 쿼리 → SQL 집계 쿼리로 전환 3. _session_card.html.erb: session.qt_participants.size → index에서 includes(:qt_participants) 추가 ### B. IDOR 접근 제어 1. before_action :verify_participant 추가 (show, shared_meditations, members, rankings) - is_public이면 허용, 아니면 qt_participants.exists?(user: current_user) 확인 2. select 액션에 참여자 확인 추가 3. 비참여자 접근 차단 테스트 추가 ## 완료 기준 - N+1 쿼리 제거 - 비참여자 비공개 세션 접근 차단 - select 참여자 검증 - 전체 테스트 통과 (bin/rails test)