회원가입 폼이나 문의 폼에 스팸 봇이 몰리는데, 구글 reCAPTCHA는 체크박스가 번거롭거나 개인정보 이슈가 걱정될 수 있습니다. Cloudflare Turnstile은 이런 상황에서 쓸 수 있는 무료 대안입니다.

안녕하세요, 코딩하는 안다형입니다. 이 글에서는 Turnstile이 뭐고 내 사이트 폼에 어떻게 붙이는지 기본 흐름을 정리했습니다.

3줄 요약

  1. Turnstile은 Cloudflare가 제공하는 무료 봇 차단 위젯입니다.
  2. 대부분의 경우 체크박스 클릭 없이 백그라운드에서 사람인지 판별합니다.
  3. 사이트 키와 시크릿 키를 발급받아 프론트엔드와 서버에 각각 붙이면 됩니다.

reCAPTCHA와 뭐가 다른가

동작 방식은 비슷하지만 Turnstile은 완전 무료이고, 방문자에게 이미지 선택 같은 퍼즐을 요구하지 않는 경우가 많습니다. 브라우저 환경, 행동 패턴 등을 조용히 분석해서 대부분 자동으로 통과시키고, 의심스러울 때만 추가 확인을 요구합니다.

발급받는 순서

  • Cloudflare 대시보드에서 Turnstile 메뉴로 들어갑니다.
  • 사이트 도메인을 등록하고 위젯을 하나 만듭니다.
  • Site Key(프론트엔드용)와 Secret Key(서버 검증용) 두 개를 받습니다.

적용하는 방법

폼이 있는 페이지에 Turnstile 스크립트를 넣고, 폼 안에 위젯을 위한 영역을 하나 추가합니다. 방문자가 폼을 제출하면 위젯이 생성한 토큰이 함께 전송되고, 서버에서 이 토큰을 Secret Key로 검증한 뒤 진짜 요청인지 판단합니다.

티스토리처럼 직접 서버 로직을 건드릴 수 없는 플랫폼에서는 적용이 제한적일 수 있습니다. 자체 호스팅 홈페이지나 그누보드처럼 코드를 수정할 수 있는 환경에서 적용하기 좋습니다.

Turnstile과 reCAPTCHA 비교표

Turnstile은 완전 무료이고 대부분 체크박스 없이 조용히 통과되는 반면, reCAPTCHA v2는 체크박스나 이미지 퍼즐이 뜨는 경우가 있고 v3는 점수 기반으로 동작합니다. 둘 다 서버 쪽 검증 로직이 필요하다는 점은 같습니다.

이건 하지 마세요

  • 프론트엔드 검증만 하고 서버 검증 생략: 토큰 검증 없이는 봇이 그냥 우회할 수 있습니다.
  • Site Key와 Secret Key 혼동: Secret Key는 절대 프론트엔드 코드에 노출하면 안 됩니다.
  • 모든 폼에 무조건 적용: 방문자 경험을 해치지 않는 선에서 스팸이 실제로 문제되는 폼부터 적용하세요.

자주 묻는 질문

사용자가 느끼는 불편함이 있나요?

대부분의 경우 아무 조작 없이 자동으로 통과되어 체감 불편함이 적은 편입니다. 다만 의심스러운 트래픽 패턴이면 추가 확인이 뜰 수 있습니다.

워드프레스에도 쓸 수 있나요?

네, Turnstile을 지원하는 플러그인들이 있어 비교적 쉽게 연동할 수 있습니다.

완전히 무료인가요?

네, 별도 비용 없이 쓸 수 있는 무료 서비스입니다.

마무리

회원가입, 문의, 댓글 폼에 스팸이 계속 쌓인다면 Turnstile을 검토해 볼 만합니다. 방문자 경험을 크게 해치지 않으면서 자동화 봇을 걸러낼 수 있는 무료 옵션입니다.

함께 보면 좋은 글