星野アイ

Cloudflare Turnstile 캡차 (Kcaptcha / reCAPTCHA 대체)

· 2026-10-10 (토) 04:58:22 · 93 · 1

1791575935_yLY99X6cFz.webp그누보드5 기본 캡차 대신 Cloudflare Turnstile을 쓸 수 있게 해 주는 캡차 플러그인입니다.

대부분은 구글 Recaptcha를 쓰시겠지만, 1달에 10000건 이상 요청이 들어오는 경우 유료라........
해서, Turnstile은 Cloudflare의 무료 캡차 서비스입니다. 대부분의 방문자는 숫자 입력이나 그림 맞추기 없이 자동으로 통과하고, 사이트가 Cloudflare 프록시를 쓰지 않아도 사용할 수 있습니다.

■ 특징
- 회원가입, 글쓰기, 댓글, 비밀번호 찾기, 폼메일 등 그누보드가 캡차를 띄우는 모든 곳에 적용됩니다.
- 스킨을 수정할 필요가 없습니다. 기존 캡차 함수(captcha_html / chk_captcha_js / chk_captcha)를 그대로 대체합니다.
- 서버에서 Cloudflare siteverify API로 토큰을 검증합니다. (curl 우선, 없으면 allow_url_fopen 사용)
- 오류 후 뒤로 가기, 댓글 답변·수정으로 폼이 이동할 때 위젯을 자동으로 리셋합니다.
- 한 페이지에 캡차가 여러 개 있어도 제출하는 폼의 캡차만 검사합니다.
- turnstile_captcha_html 훅으로 위젯 HTML(테마, 크기 등)을 바꿀 수 있습니다.

■ 요구 사항
- 그누보드 5.6.37 ~ 5.6.42 (그 밖의 버전은 README의 직접 수정 방법 참고)
- PHP 5.3 이상, curl 확장 또는 allow_url_fopen
- Cloudflare 계정 (무료)

■ 설치 요약
첨부 파일은 그누보드와 같은 폴더 구조로 되어 있습니다.
1. Cloudflare 대시보드 > 보호 및 연결 > 애플리케이션 보안 > Turnstile에서 위젯을 추가하고 사이트 키와 시크릿 키를 발급받습니다.(Spin으로 설정 아닙니다, 위젯을 수동으로 추가 입니다.)

2. plugin/turnstile/turnstile_config.php에 발급받은 키를 입력합니다.
1791575845_T2LBWI63uQ.webp
위와 같이 나온 키를
define('G5_TURNSTILE_SITE_KEY', '0x4AAAAAAFSiPvfF4VagAcND');  //사이트 키
define('G5_TURNSTILE_SECRET_KEY', '0x4AAAAAAFSiPjQrCPIm9F_3be5j5TYlql8');  //비밀 키
이렇게 입력해줍니다.

3. 압축을 푼 폴더의 plugin 폴더 안에 있는 turnstile 폴더를 통째로, 운영 중인 그누보드의 plugin 폴더 안에 업로드합니다.
   - 업로드 후 서버에 아래 3개 파일이 있으면 정상입니다.
     그누보드루트/plugin/turnstile/captcha.lib.php
     그누보드루트/plugin/turnstile/turnstile.lib.php
     그누보드루트/plugin/turnstile/turnstile_config.php
   - 폴더 이름 turnstile은 바꾸면 안 됩니다. (이름이 다르면 그누보드가 플러그인을 찾지 못합니다.)
   - 파일만 꺼내서 plugin 폴더에 바로 올리면 안 됩니다. 반드시 turnstile 폴더째로 올려 주세요.

4. 서버의 adm/config_form.php를 백업합니다.(Hoxy 모르니깐...)

5. plugin 폴더와 adm 폴더를 그누보드 루트에 그대로 업로드합니다. (adm/config_form.php 덮어쓰기)
※ 그누보드 5.6.42 이후 버전은 adm-5.6.42 폴더 안의 config_form.php를 adm 폴더에 올립니다. 그외 나머지는 adm 폴더 안에 있는 config_form.php

6. 관리자 > 기본환경설정 > 캡챠 선택에서 Cloudflare Turnstile을 선택하고 저장합니다.
1791575346_I9RGtRsIGV.webp
자세한 설치 방법과 되돌리는 방법은 첨부한 README.md에 있습니다.

■ 적용하면?
1791575743_paLJgGeOp0.webp
1791575771_lkzixX3DSN.webp

■ 참고
- 코어 파일은 adm/config_form.php 한 개만 바뀝니다. 원본에서 캡챠 선택과 관련된 4줄만 수정한 파일입니다.
- config_form.php는 버전에 맞는 것을 써야 합니다. 맞지 않는 파일을 덮어쓰면 기본환경설정 화면에 문제가 생길 수 있습니다.
- 그누보드를 업데이트하면 config_form.php를 새 버전에 맞게 다시 적용해야 합니다.

버전 정보

테스트한 버전 5.6.39.1

첨부파일

turnstile.zip (39.6 KB) 4회 2026-10-10 04:58
총 4명이 반응했습니다
|

댓글 1개

감사합니다. 
댓글을 작성하시려면 로그인이 필요합니다.

그누보드5 플러그인

713건

그누보드 호환이거나 독립적으로 실행되는 플러그인을 소개합니다.

+