Skip to content

deploy: require human verification for backtest calculation - #74

Merged
kyj0503 merged 3 commits into
mainfrom
dev
Oct 25, 2026
Merged

kyj0503 merged 3 commits into
mainfrom
dev

Conversation

@kyj0503

@kyj0503 kyj0503 commented Oct 25, 2026

Copy link
Copy Markdown
Owner

계산 POST가 사람 인증 없이 실행되는 문제를 막습니다. FastAPI 의존성이 계산 슬롯·데이터 조회 전에 Cloudflare Siteverify를 호출하고, 성공·정확한 hostname·backtest action을 모두 확인한 요청만 기존 실행기에 전달합니다.

  • 인증은 기본 활성화입니다. 누락·위조·만료·재사용·잘못된 용도는 403, 설정 누락·검증 통신 장애는 503으로 거부합니다.
  • 토큰은 X-Turnstile-Token 헤더로 받습니다. 기존 요청 JSON·성공 응답·계산식과 조회 GET 4개는 유지합니다.
  • 비밀키는 서버 런타임 환경 파일에서 관리하며 토큰·키·Siteverify 응답을 기록하지 않습니다. 새 의존성·세션·토큰 저장소는 없습니다.

검증: Docker에서 558개 단위 테스트와 golden master 1개 통과. 누락·위조·재사용·만료·hostname/action 불일치·검증 장애가 실행기 호출 전에 차단되는 것을 확인했습니다. 기존 JSON 계약 비교와 의존성 감사도 통과했습니다. 격리 MySQL 런타임에서 계산·조회 4개·현금 1,500 보존을 확인했습니다. 공식 더미 검증 응답에 action이 없어 로컬 테스트 프로세스에서만 메타데이터 어댑터를 사용했습니다. 운영 코드에는 테스트 키 우회가 없습니다.

운영 전환은 새 콘솔 배포 후 진행하며 비밀키와 정확한 호스트 설정이 필요합니다.

@kyj0503
kyj0503 merged commit e0fbfe7 into main Oct 25, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant