Flarum
Официальное расширение CaptchaLa для Flarum. Добавляет проверку CAPTCHA к действиям, которые обычно атакуют боты на форуме — регистрация, вход, сброс пароля и постинг — с переключателями для каждого действия в админ-панели.
Что охватывает
Каждое действие ниже — отдельный переключатель в Admin → Extensions → CaptchaLa.
- Регистрация
- Вход
- Сброс пароля
- Ответы в темах
- Новые обсуждения
- Редактирование профиля
Аутентифицированные сессии, открытые через провайдер SSO / Auth Sync, исключаются — см. SSO / Auth Sync ниже.
Установка
1. Подключите расширение
Из корня вашей установки Flarum:
composer require captchala/flarumАльтернативно, в Admin → Extension Manager вставьте captchala/flarum в поле Install. Расширение рассчитано на Flarum ≥ 1.8 и PHP ≥ 8.1.
2. Включите в админ-панели
Откройте Admin → Extensions, найдите CaptchaLa и нажмите Enable.
3. Настройте
В панели настроек расширения:
- Вставьте ваш App Key и App Secret с
dash.captcha.la. - Включите действия, которые хотите защитить.
- Сохраните.
Конфигурация
Настройки хранятся в стандартной таблице настроек 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 покрывает 1 000 проверок в месяц.
Останавливает ли спам-регистрации?
Блокирует или ставит запрос на большинство автоматических регистраций при первом же risk score. Никакая CAPTCHA не блокирует 100% — но в наших тестовых форумах объём спам-регистраций падает примерно на порядок после включения.
Можно ли использовать только на регистрации?
Да. Каждое действие — отдельный переключатель. Профиль по умолчанию включает только регистрацию и сброс пароля.
Работает ли с SSO / Auth Sync?
Да. Сессии, открытые провайдером SSO / Auth Sync, пропускают запрос. См. SSO / Auth Sync.
Открытый ли исходный код?
Да — PHP-код расширения с открытым исходным кодом. Вызовы проверки идут к хостингу сервиса CaptchaLa.
Исходный код
- Репозиторий расширения:
github.com/Captcha-La/captchala-flarum - Packagist:
captchala/flarum - Связанное: Web SDK · PHP Server SDK · Справочник API