---
title: WHMCS
---

# WHMCS

WHMCS için resmi CaptchaLa addon modülü. WHMCS müşteri alanına — giriş, kayıt, parola sıfırlama, iletişim formu, talep gönderimi ve sepet ödemesi — kod yazmadan CAPTCHA doğrulaması ekler.

Düz bir site-key widget'ının aksine, her challenge **sunucu tarafından verilen, tek kullanımlık bir token** ile desteklenir (anti-replay) ve üçüncü taraf izleyiciler yüklenmez.

## Kapsadıkları

Aşağıdaki her yüzey, modülün ayarlarında ayrı bir anahtardır — yalnızca korumak istediklerinizi etkinleştirin.

- Giriş
- Kayıt
- Parola sıfırlama
- İletişim formu
- Talep gönderimi
- Sepet ödemesi

## Gereksinimler

- WHMCS 8.x ve 9.x (8.3 ve 9.0 müşteri alanına karşı test edildi; `six` ve `twenty-one` temalarıyla, Friendly URLs ile veya olmadan çalışır)
- PHP 8.0+ (WHMCS 9.0'ın kendisi PHP 8.2+ gerektirir)
- Bir CaptchaLa hesabı — **App Key** + **App Secret** değerlerinizi [`dash.captcha.la`](https://dash.captcha.la) adresinden alın

## Kurulum

### 1. Modülü kurun

1. En son `whmcs-x.y.z.zip` dosyasını [releases](https://github.com/Captcha-La/captchala-whmcs/releases) sayfasından indirin.
2. Onu **WHMCS kök** dizininize çıkarın. Bu, `modules/addons/captchala/` ekler.
3. WHMCS yöneticisinde **Setup → Addon Modules**'e gidin, **CaptchaLa**'yı bulun ve **Activate** tıklayın.

### 2. Yapılandırın

**Configure** tıklayın, ardından:

1. **App Key** ve **App Secret** değerlerinizi yapıştırın.
2. Bir **Widget mode** ve **Theme** seçin.
3. Korumak istediğiniz formları açın.
4. **Save Changes** tıklayın.

Panele karşı canlı bağlantı testi çalıştırmak için yönetici kenar çubuğundaki **CaptchaLa** sayfasını açın.

::: tip
Etkinleştirdikten sonra widget görünmüyorsa, modül ayarlarını bir kez yeniden kaydedin — WHMCS, bir modülün `hooks.php` dosyasını yalnızca modül (yeniden) etkinleştirildiğinde/kaydedildiğinde kaydeder.
:::

## Yapılandırma

Tüm ayarlar **Setup → Addon Modules → CaptchaLa → Configure** altındadır.

| Ayar | Tür | Varsayılan | Açıklama |
| --- | --- | --- | --- |
| App Key | string | — | CaptchaLa panelinden alınan public anahtar. Zorunlu. |
| App Secret | string | — | Token vermek ve doğrulamak için kullanılan sunucu secret'i. Zorunlu; tarayıcıya asla açılmaz. |
| Widget mode | enum | `popup` | `popup` (tetikleyici çubuk → tam ekran challenge), `float` (satır içi panel), `embed` (satır içi onay kutusu), `bind` (görünmez, gönderimi yakalar). |
| Theme | enum | `default` | Renk ön ayarı: `default`, `dark`, `slate`, `emerald`, `amber`, `rose`. |
| Language | string | `auto` | BCP-47 kodu (ör. `en`, `zh`, `de`) veya tarayıcıyı takip etmek için `auto`. |
| Protect login | bool | on | Müşteri alanı girişinde challenge. |
| Protect registration | bool | on | Yeni hesap kaydında challenge. |
| Protect password reset | bool | on | Parola sıfırlama formunda challenge. |
| Protect contact form | bool | off | İletişim formunda challenge. |
| Protect ticket submission | bool | off | Son talep gönderim adımında challenge. |
| Protect cart checkout | bool | off | Sepet ödemesinde challenge. |
| Skip for logged-in users | bool | on | Zaten bir müşteri oturumu olan ziyaretçilere challenge gösterme. |
| Failure message | string | — | Doğrulama başarısız olduğunda gösterilen mesaj. |

## Nasıl çalışır

Korunan her form sayfasında modül, panelden o formun action'ına kapsamlanmış yeni bir **sunucu token'ı (`sct_`)** verir ve buna bağlı widget'ı render eder. Ziyaretçi challenge'ı çözdükten sonra SDK, forma **tek kullanımlık bir pass token'ı (`pt_`)** yazar. Gönderimde modül, WHMCS formu işlemeden önce bu `pt_` değerini sunucu tarafında doğrular; tekrarlar ve action uyuşmazlıkları reddedilir.

Panel geçici olarak erişilemezse, modül **fails open** (gönderimin geçmesine izin verir), böylece müşteri alanınız bir yukarı akış aksaklığı yüzünden asla kilitlenmez.

## SSS

**Modül ücretsiz mi?**

Evet. Modül ücretsizdir. CaptchaLa ücretsiz planı ayda 10.000 doğrulamayı kapsar — ücretli planlar yalnızca daha fazla hacme ihtiyacınız varsa geçerlidir.

**Hem WHMCS 8 hem 9'da çalışır mı?**

Evet — 8.3 ve 9.0 müşteri alanında, `six` ve `twenty-one` temalarıyla, Friendly URLs ile veya olmadan test edildi.

**Widget görünmüyor.**

Modül ayarlarını bir kez yeniden kaydedin (Configure → Save Changes). WHMCS, `hooks.php` dosyasını yalnızca modül (yeniden) etkinleştirildiğinde/kaydedildiğinde kaydeder.

## Kaynak

- Modül deposu: [`github.com/Captcha-La/captchala-whmcs`](https://github.com/Captcha-La/captchala-whmcs)
- Sorunlar / özellik talepleri: yukarıdaki depoya kaydedilir
- İlgili: [Web SDK](/tr/web-sdk) · [PHP Sunucu SDK](/tr/sdk/server-php) · [API Referansı](/tr/api-reference)
