본문으로 건너뛰기
Paid AddonPurchase Captcha | Install via your site's addon page or download from your account

Captcha

봇을 막고. 수익을 보호하고. 설정 번거로움은 없애세요.

사용자 지정 도메인이 있는 멀티사이트 네트워크를 운영하시나요? 그 고통을 아실 겁니다. Google reCAPTCHA와 hCaptcha는 관리 콘솔에 모든 개별 도메인을 등록해야 합니다. 새 고객 사이트를 추가하나요? captcha 구성을 업데이트해야 합니다. 사용자 지정 도메인을 매핑하나요? 또 업데이트해야 합니다. 끝이 없습니다.

Ultimate Multisite: Captcha가 모든 것을 바꿉니다.

Cap Captcha: 그냥 작동하는 자체 호스팅 보호

새로운 Cap Captcha 제공자는 멀티사이트 네트워크의 판도를 바꿉니다.

  • 설정 불필요 — 애드온을 활성화하면 보호됩니다. API 키도, Google 계정도, hCaptcha 대시보드도, 도메인 허용 목록도 필요 없습니다.
  • 모든 도메인에서 자동으로 작동 — 서브도메인, 매핑된 도메인, 고객 도메인까지 모두 즉시 보호됩니다.
  • 자체 호스팅 및 비공개 — 데이터가 서버를 벗어나지 않습니다. 타사 추적 없이 완전한 GDPR 준수.
  • 보이지 않는 작업 증명 — 사용자는 백그라운드에서 계산 퍼즐을 풉니다. 소화전을 클릭하거나 짜증 나는 이미지 격자를 고를 필요가 없습니다.
  • 가벼움 — 단 20KB. 결제를 느리게 만들지 않습니다.

WooCommerce 카드 테스트 보호

카드 테스트 공격은 매년 판매자에게 수십억의 비용을 초래합니다. 사기꾼은 봇을 사용해 도난당한 신용카드를 WooCommerce 결제에서 검증합니다. 처리 수수료는 판매자가 내고, 그들은 유효한 카드 번호를 얻습니다.

가장 중요한 지점을 보호합니다.

  • Store API 보호 — 기존 폼 captcha를 우회하는 /wp-json/wc/store/v1/checkout의 봇 공격을 차단합니다
  • PayPal Payments 호환 — WooCommerce PayPal Payments와 원활하게 작동합니다
  • 실시간 통계 — 얼마나 많은 공격을 차단하고 있는지 정확히 확인하세요

아직 Google reCAPTCHA 또는 hCaptcha가 필요하신가요?

걱정하지 마세요. 다음을 완전히 지원합니다.

  • Google reCAPTCHA v2 (체크박스)
  • Google reCAPTCHA v2 (보이지 않음)
  • Google reCAPTCHA v3 (점수 기반)
  • hCaptcha (표준)
  • hCaptcha (보이지 않음)

네트워크 설정에서 언제든지 제공자를 전환하세요.

확장성을 고려해 구축됨

  • 사이트별 재정의를 지원하는 네트워크 전체 설정
  • 보호 상태를 모니터링하는 통계 대시보드
  • 조정 가능한 보안 수준(빠름, 중간, 최대)
  • 확장 가능한 제공자 아키텍처로 개발자 친화적

설치

  1. ultimate-multisite-captcha/wp-content/plugins/ 디렉터리에 업로드합니다
  2. 플러그인을 네트워크 활성화합니다
  3. 이게 전부입니다. 이제 보호됩니다.

Cap Captcha는 자동으로 활성화됩니다. 구성할 설정도, 입력할 API 키도 없습니다. 활성화하는 순간 전체 네트워크의 모든 지원 엔드포인트가 보호됩니다.

선택 사항: 대신 Google reCAPTCHA 또는 hCaptcha를 사용하려면 Ultimate Multisite → Settings → Captcha로 이동하여 원하는 제공자를 선택하세요.

자주 묻는 질문

무언가를 설정해야 하나요?

아니요! 애드온을 활성화하면 Cap Captcha가 자동으로 활성화됩니다. 전체 네트워크가 즉시 보호됩니다. 구성할 설정도, 입력할 API 키도 없습니다.

Cap Captcha에 API 키가 필요한가요?

아니요. Cap Captcha는 완전히 자체 호스팅됩니다. 외부 계정도, 도메인 등록도, 설정 골칫거리도 없습니다.

결제가 느려지나요?

Cap Captcha는 단 20KB이며 백그라운드에서 작업 증명 챌린지를 실행합니다. 고객은 지연을 느끼지 못합니다.

카드 테스트 공격을 막아주나요?

예! HTML 폼만 보호하는 기존 captcha와 달리, WooCommerce 통합은 Store API에 직접 연결되어 API 수준에서 봇 공격을 차단합니다. 대부분의 카드 테스트 공격이 발생하는 바로 그 지점입니다.

사이트마다 다른 captcha 제공자를 사용할 수 있나요?

captcha 제공자는 네트워크 전체로 설정되지만, 필요에 따라 난이도 설정을 조정할 수 있습니다.

GDPR을 준수하나요?

Cap Captcha는 외부 서비스로 데이터를 보내지 않는 100% 자체 호스팅 방식입니다. Google reCAPTCHA와 hCaptcha의 경우 각각의 개인정보 보호정책을 검토하세요.

속도 제한

Ultimate Multisite: Captcha v1.5.0은 무차별 대입 및 카드 테스트 공격으로부터 네트워크를 보호하는 강제 차단 속도 제한기를 도입합니다.

작동 방식

속도 제한기는 captcha로 보호되는 표면의 모든 GET 및 POST 요청을 계산합니다.

  • WordPress 로그인 엔드포인트 — wp-login, register, lost-password, comments
  • WooCommerce 결제 — my-account, checkout, pay-for-order
  • Ultimate Multisite — checkout, inline-login

방문자가 속도 제한을 초과하면 플러그인은 다음으로 응답합니다.

  • HTTP 429 (요청이 너무 많음) 상태 코드
  • 재시도 시점을 나타내는 Retry-After header
  • 공격자를 늦추기 위한 무작위 타핏 대기(기본 1~5초, 최대 15초로 강제 제한)

구성

타핏 타이밍

속도 제한된 요청에 적용되는 무작위 지연을 제어합니다.

  • cap_rate_limit_tarpit_min — 최소 대기 시간(초)(기본값: 1)
  • cap_rate_limit_tarpit_max — 최대 대기 시간(초)(기본값: 5, 최대 15로 강제 제한)

이 설정은 Ultimate Multisite → Settings → Captcha에서 사용할 수 있습니다.

확장성

IP 허용 목록 필터

신뢰할 수 있는 IP 범위를 속도 제한에서 제외합니다.

add_filter( 'wu_cap_rate_limit_whitelist_ip', function( $is_whitelisted, $ip ) {
// Whitelist your monitoring service
if ( $ip === '203.0.113.42' ) {
return true;
}
return $is_whitelisted;
}, 10, 2 );

차단 전 작업

속도 제한 차단이 전송되기 직전에 사용자 지정 로직을 실행합니다.

add_action( 'wu_cap_rate_limit_will_block', function( $ip, $surface ) {
// Log the block, notify admins, or update custom metrics
error_log( "Rate limit triggered for $ip on $surface" );
}, 10, 2 );

Client IP 감지 및 신뢰할 수 있는 프록시

Ultimate Multisite: Captcha v1.5.0은 스푸핑에 강한 Client IP 감지를 도입합니다. Captcha_Core::get_client_ip() 메서드는 이제 다음 전반에서 방문자 IP 귀속에 대한 단일 진실 공급원입니다.

  • 속도 제한 버킷 키
  • 캡차 제공자 remoteip (reCAPTCHA, hCaptcha siteverify)
  • 통계 IP 해시

신뢰 모델

plugin은 엄격한 IP 신뢰 계층을 적용합니다:

  1. REMOTE_ADDR — 항상 신뢰됨(직접 연결된 피어의 IP)
  2. CF-Connecting-IP — 다음 경우에만 인정됨:
    • 직접 연결된 피어가 현재 Cloudflare IP 범위 안에 있음
    • cap_trust_cloudflare_headers가 활성화됨(기본값: OFF)
  3. X-Forwarded-For — 다음 경우에만 인정됨:
    • 직접 연결된 피어가 관리자가 구성한 신뢰할 수 있는 프록시 목록에 있음
    • 헤더가 오른쪽에서 왼쪽으로 구문 분석되며, 신뢰할 수 있는/Cloudflare 홉은 건너뜀

구성

Cloudflare 헤더 신뢰

Cloudflare의 CF-Connecting-IP 헤더 신뢰를 활성화합니다:

  • cap_trust_cloudflare_headersCF-Connecting-IP 신뢰를 선택하도록 ON으로 설정
    • 기본값: OFF(비활성화됨)
    • plugin에는 번들된 Cloudflare CIDR 스냅샷이 포함되어 제공됨
    • CIDR 범위는 wp-cron을 통해 매주 새로 고침됨
    • 새로 고침이 실패하면 번들된 대체 항목이 사용됨

신뢰할 수 있는 프록시 구성

최전방 프록시와 로드 밸런서를 정의합니다:

  • cap_trusted_proxies — CIDR 또는 단독 IP의 텍스트 영역(한 줄에 하나씩)
    • 주석이 허용됨(#으로 시작하는 줄)
    • 이 설정이 없으면 속도 제한기가 활성화되어 있어도 X-Forwarded-For는 무시됨
    • 예:
      # Our load balancer
      192.0.2.0/24

      # Backup proxy
      198.51.100.50

최초 활성화 자동 감지

속도 제한기를 처음 활성화하면 plugin이 가능한 Cloudflare 및 프록시 상태를 감지하고 한 번 클릭으로 적용할 수 있는 "감지된 설정 적용" 관리자 알림을 표시합니다.

  • plugin은 저장된 값을 절대 덮어쓰지 않습니다
  • 이후 트래픽에서 구성과 실제 상태가 더 이상 일치하지 않는 것으로 나타나면(예: Cloudflare가 CIDR 범위를 변경함), 해제할 수 없는 불일치 알림이 권장 업데이트를 표시합니다

이것이 중요한 이유

엄격한 IP 신뢰 모델은 중요한 스푸핑 벡터를 차단합니다. 위조된 CF-Connecting-IP 헤더를 포함한 직접 원본 서버 요청은 이전에는 실제 피어 대신 스푸핑된 IP로 버킷 처리되었을 것입니다. 이는 특히 다음에 중요합니다:

  • 속도 제한 — 공격자는 IP를 스푸핑하여 제한을 우회할 수 없음
  • 통계 — 공격 지표가 위조된 IP가 아니라 실제 방문자 IP를 반영함
  • 캡차 검증 — 제공자가 위험 평가를 위해 올바른 방문자 IP를 수신함