---
title: WHMCS
---

# WHMCS

Официальный addon-модуль CaptchaLa для WHMCS. Добавляет проверку CAPTCHA в клиентскую область WHMCS — вход, регистрацию, восстановление пароля, форму обратной связи, отправку тикета и оформление корзины — без написания кода.

В отличие от обычного виджета с site-key, каждый запрос подкреплён **серверным одноразовым токеном** (защита от повторов), и сторонние трекеры не загружаются.

## Что охватывает

Каждая поверхность ниже — отдельный переключатель в настройках модуля, включайте только те, что хотите защитить.

- Вход
- Регистрация
- Восстановление пароля
- Форма обратной связи
- Отправка тикета
- Оформление корзины

## Требования

- WHMCS 8.x и 9.x (протестировано на клиентской области 8.3 и 9.0; работает с темами `six` и `twenty-one`, с Friendly URLs или без них)
- PHP 8.0+ (самой WHMCS 9.0 требуется PHP 8.2+)
- Аккаунт CaptchaLa — получите свои **App Key** + **App Secret** на [`dash.captcha.la`](https://dash.captcha.la)

## Установка

### 1. Установите модуль

1. Скачайте последний `whmcs-x.y.z.zip` из раздела [releases](https://github.com/Captcha-La/captchala-whmcs/releases).
2. Распакуйте его в **корневой каталог WHMCS**. Это добавит `modules/addons/captchala/`.
3. В админ-панели WHMCS перейдите в **Setup → Addon Modules**, найдите **CaptchaLa** и нажмите **Activate**.

### 2. Настройте

Нажмите **Configure**, затем:

1. Вставьте свои **App Key** и **App Secret**.
2. Выберите **Widget mode** и **Theme**.
3. Включите формы, которые хотите защитить.
4. Нажмите **Save Changes**.

Откройте страницу **CaptchaLa** в боковом меню админки, чтобы запустить живой тест соединения с панелью управления.

::: tip
После активации, если виджет не появляется, пересохраните настройки модуля один раз — WHMCS регистрирует `hooks.php` модуля только при (повторной) активации/сохранении.
:::

## Конфигурация

Все настройки находятся в **Setup → Addon Modules → CaptchaLa → Configure**.

| Настройка | Тип | По умолчанию | Описание |
| --- | --- | --- | --- |
| App Key | string | — | Публичный ключ из панели управления CaptchaLa. Обязательно. |
| App Secret | string | — | Серверный секрет, используется для выпуска и проверки токенов. Обязательно; никогда не передаётся в браузер. |
| Widget mode | enum | `popup` | `popup` (панель-триггер → полноэкранный запрос), `float` (встроенная панель), `embed` (встроенный чекбокс), `bind` (невидимый, перехватывает отправку). |
| Theme | enum | `default` | Цветовой пресет: `default`, `dark`, `slate`, `emerald`, `amber`, `rose`. |
| Language | string | `auto` | Код BCP-47 (например, `en`, `zh`, `de`) или `auto`, чтобы следовать настройкам браузера. |
| Protect login | bool | on | Запрос проверки при входе в клиентскую область. |
| Protect registration | bool | on | Запрос проверки при регистрации нового аккаунта. |
| Protect password reset | bool | on | Запрос проверки на форме восстановления пароля. |
| Protect contact form | bool | off | Запрос проверки на форме обратной связи. |
| Protect ticket submission | bool | off | Запрос проверки на финальном шаге отправки тикета. |
| Protect cart checkout | bool | off | Запрос проверки при оформлении корзины. |
| Skip for logged-in users | bool | on | Не запрашивать проверку у посетителей, у которых уже есть клиентская сессия. |
| Failure message | string | — | Сообщение, отображаемое при неудачной проверке. |

## Как это работает

На каждой странице защищённой формы модуль выпускает свежий **серверный токен (`sct_`)** из панели управления, привязанный к action этой формы, и рендерит виджет, привязанный к нему. После того как посетитель решает запрос, SDK записывает **одноразовый pass-токен (`pt_`)** в форму. При отправке модуль проверяет этот `pt_` на сервере до того, как WHMCS обработает форму; повторы и несоответствия action отклоняются.

Если панель управления временно недоступна, модуль **fails open** (пропускает отправку), чтобы ваша клиентская область никогда не блокировалась из-за сбоя вышестоящего сервиса.

## FAQ

**Модуль бесплатный?**

Да. Модуль бесплатный. Бесплатный план CaptchaLa покрывает 10 000 проверок в месяц — платные планы нужны, только если требуется больший объём.

**Работает ли он и с WHMCS 8, и с 9?**

Да — протестировано на клиентской области 8.3 и 9.0, с темами `six` и `twenty-one`, с Friendly URLs или без них.

**Виджет не появляется.**

Пересохраните настройки модуля один раз (Configure → Save Changes). WHMCS регистрирует `hooks.php` только при (повторной) активации/сохранении.

## Исходный код

- Репозиторий модуля: [`github.com/Captcha-La/captchala-whmcs`](https://github.com/Captcha-La/captchala-whmcs)
- Issues / feature-запросы: в репозитории выше
- Связанное: [Web SDK](/ru/web-sdk) · [PHP Server SDK](/ru/sdk/server-php) · [Справочник API](/ru/api-reference)
