Chris Portscheller
WebDecoy 창업자 · Founder of WebDecoy AI 크롤러, 스크레이퍼, 자동화 봇을 탐지하는 개발자 도구를 만들고 있습니다. 허니팟, 브라우저 행동 분석, 엣지 센서로 사이트의 자동화된 트래픽을 파악하고 대응할 수 있도록 돕습니다. https://webdecoy.com
폼을 숨겨도 POST 요청은 들어옵니다 — 직접 호스팅하는 FCaptcha와 Hono 예제
안녕하세요. WebDecoy 창업자 Chris입니다. 이번에는 저희가 만드는 무료 오픈소스 프로젝트 FCaptcha를 소개합니다. WebDecoy의 호스팅 서비스와 별도로 직접 운영할 수 있는 CAPTCHA입니다.
가입하면 무료 AI 크레딧을 주거나, 문의 폼이 메일을 발송한다면 브라우저 화면의 검사만으로는 충분하지 않습니다. 자동화된 클라이언트는 폼을 열지 않고 서버에 직접 요청할 수 있기 때문입니다.
FCaptcha는 이미지·음성 퍼즐 대신 브라우저 자동화 신호, 입력·타이밍 신호, Proof of Work를 조합합니다. 체크박스와 비표시 모드가 있으며, MIT 라이선스로 코드를 확인하고 수정할 수 있습니다. Docker 이미지와 Go·Node.js·Python 서버 구현을 제공합니다. 소프트웨어는 무료이고, 서버 비용과 운영은 직접 맡아야 합니다.
실제로 붙여 보는 순서
- 저장소의 examples/hono에서 로컬 예제를 실행합니다. Node.js 22 이상과 전체 저장소 체크아웃이 필요합니다.
- 브라우저가 contact action으로 토큰을 발급받고 메시지와 함께 전송합니다.
- Hono 미들웨어가 서버 전용 secret으로 /siteverify를 호출하고 success, hostname, action을 검사합니다.
- 검증을 통과한 뒤에만 메시지 저장·발송 같은 작업을 실행합니다. 예제에서는 메시지를 저장하거나 발송하지 않습니다.
잘못된 토큰은 403, 검증 서버 장애는 503으로 처리합니다. 장애 때 검증 없이 요청을 허용하지 않습니다. 토큰은 일회용이므로 재시도할 때 새 토큰이 필요하고, 실제 업무의 중복 실행 방지는 별도로 설계해야 합니다.
실행 가능한 Hono 예제:
https://github.com/WebDecoy/FCaptcha/tree/main/examples/hono
소스와 Docker 설치 안내:
https://github.com/WebDecoy/FCaptcha
CAPTCHA는 로그인 인증·권한 검사나 전체 비용 한도를 대신하지 않습니다. 우회와 오탐 가능성이 있으므로 레이트 제한을 함께 적용하고, 모바일·키보드·보조기술 사용자의 실제 흐름과 거절 시 복구 방법도 확인해 주세요. 예제의 테스트는 토큰 검증 연동을 확인하는 것이며 탐지 정확도 측정은 아닙니다.
가입 없이 볼 수 있는 데모:
https://webdecoy.com/product/fcaptcha-demo/?utm_source=disquiet&utm_medium=community&utm_campaign=fcaptcha_oss&utm_content=hono_intro
어떤 환경의 폼에 붙여 보고 싶으신가요? 설치 과정이나 정상 사용자가 거절되는 상황에 대한 피드백을 환영합니다. 프로젝트가 유용하다면 GitHub에서 Star로 저장해 두실 수 있습니다.
한국어 작성에는 AI를 사용했고, 설명은 공개 Hono 예제와 대조했습니다.
WebDecoy
AI 크롤러와 자동화 봇의 활동을 확인하고 대응하는 개발자 도구
