--- title: Flarum --- # Flarum Официальное расширение CaptchaLa для Flarum. Добавляет проверку CAPTCHA к действиям, которые обычно атакуют боты на форуме — регистрация, вход, сброс пароля и постинг — с переключателями для каждого действия в админ-панели. ## Что охватывает Каждое действие ниже — отдельный переключатель в `Admin → Extensions → CaptchaLa`. - Регистрация - Вход - Сброс пароля - Ответы в темах - Новые обсуждения - Редактирование профиля Аутентифицированные сессии, открытые через провайдер SSO / Auth Sync, исключаются — см. [SSO / Auth Sync](#sso-auth-sync) ниже. ## Установка ### 1. Подключите расширение Из корня вашей установки Flarum: ```bash composer require captchala/flarum ``` Альтернативно, в `Admin → Extension Manager` вставьте `captchala/flarum` в поле **Install**. Расширение рассчитано на Flarum ≥ 1.8 и PHP ≥ 8.1. ### 2. Включите в админ-панели Откройте `Admin → Extensions`, найдите **CaptchaLa** и нажмите **Enable**. ### 3. Настройте В панели настроек расширения: 1. Вставьте ваш **App Key** и **App Secret** с [`dash.captcha.la`](https://dash.captcha.la). 2. Включите действия, которые хотите защитить. 3. Сохраните. ## Конфигурация Настройки хранятся в стандартной таблице настроек Flarum под префиксом `captchala.*`. | Настройка | Тип | По умолчанию | Описание | | --- | --- | --- | --- | | App Key | string | — | Публичный ключ (`cl_pub_…`) из панели управления CaptchaLa. Обязательно. | | App Secret | string | — | Серверный секрет. Обязательно. Используется только на сервере для вызова `/v1/validate`. | | Защита регистрации | bool | `true` | Запрос при регистрации. | | Защита входа | bool | `false` | Запрос в модальном окне входа. Выключено по умолчанию, так как большинство форумов защищают вход через rate limiting. | | Защита сброса пароля | bool | `true` | Запрос при запросе письма для сброса пароля. | | Защита ответов | bool | `false` | Запрос при отправке ответа. Выключено по умолчанию; включите, если форум подвергается спам-атакам. | | Защита новых обсуждений | bool | `false` | Запрос при открытии обсуждения. | | Режим проверки | enum | `popup` | Один из `popup`, `bind`, `embed`. Соответствует опции `product` Web SDK. | | Тема | enum | `auto` | `light`, `dark` или `auto`. | | Пропускать доверенных пользователей | bool | `true` | Пользователи в группах, отмеченных как доверенные (например, модераторы), обходят запрос. | ## SSO / Auth Sync Расширение взаимодействует со стандартными hook-ами провайдеров аутентификации Flarum (`UserAuthenticated`, сторонние провайдеры Auth Sync, OAuth-мосты). - Если пользователь приходит через аутентифицированную SSO-сессию, запрос не отображается — расширение считает сессию уже подтверждённой. - Для смешанных конфигураций, где одни пользователи входят через SSO, а другие через локальную форму, запрос запускается только на пути локальной формы. - Переключатель `skip_for_trusted_users` накладывается сверху: доверенные группы обходят запрос даже при входе через локальную форму. ## FAQ **Расширение бесплатное?** Да. Composer-пакет бесплатный. Бесплатный план CaptchaLa покрывает 10 000 проверок в месяц. **Останавливает ли спам-регистрации?** Блокирует или ставит запрос на большинство автоматических регистраций при первом же risk score. Никакая CAPTCHA не блокирует 100% — но в наших тестовых форумах объём спам-регистраций падает примерно на порядок после включения. **Можно ли использовать только на регистрации?** Да. Каждое действие — отдельный переключатель. Профиль по умолчанию включает только регистрацию и сброс пароля. **Работает ли с SSO / Auth Sync?** Да. Сессии, открытые провайдером SSO / Auth Sync, пропускают запрос. См. [SSO / Auth Sync](#sso-auth-sync). **Открытый ли исходный код?** Да — PHP-код расширения с открытым исходным кодом. Вызовы проверки идут к хостингу сервиса CaptchaLa. ## Исходный код - Репозиторий расширения: [`github.com/Captcha-La/captchala-flarum`](https://github.com/Captcha-La/captchala-flarum) - Packagist: [`captchala/flarum`](https://packagist.org/packages/captchala/flarum) - Связанное: [Web SDK](/ru/web-sdk) · [PHP Server SDK](/ru/sdk/server-php) · [Справочник API](/ru/api-reference)