Справка

Yandex SmartCaptcha в Pyrus Datacenter: как включить защиту форм

Безоблачный Pyrus

Pyrus Datacenter поддерживает защиту публичных веб-форм с помощью Yandex SmartCaptcha. Чтобы её включить, нужно создать капчу в Yandex Cloud и задать три параметра через pyrus-setup.

Какие формы защищает капча

Капча защищает публичные веб-формы Pyrus — те, которые заполняют без входа в систему. Она снижает поток автоматических отправок и заявок от ботов.

  • Капча невидимая: обычно пользователь её не замечает. Задание показывается только тем, кого Yandex SmartCaptcha сочтёт подозрительным.
  • Проверка срабатывает не при каждой отправке, а при резком росте числа заявок. Например, если в одну форму за две минуты поступило больше 20 заявок.

Что нужно со стороны сети:

  • у браузеров, в которых открываются формы, должен быть доступ к smartcaptcha.cloud.yandex.ru — оттуда загружается скрипт капчи;
  • у сервера Pyrus должен быть исходящий HTTPS-доступ к https://smartcaptcha.cloud.yandex.ru/validate — по этому адресу сервер проверяет ответ капчи.

Как получить ключи в Yandex Cloud

Понадобится аккаунт Yandex Cloud с платёжным аккаунтом в статусе ACTIVE или TRIAL_ACTIVE.

  1. Войдите в консоль Yandex Cloud и выберите нужный каталог.
  2. Откройте сервис Yandex SmartCaptcha и нажмите Создать капчу.
  3. Заполните поля:
    • Имя — любое, например pyrus-forms;
    • Список сайтов — домен, на котором открывается ваш Pyrus (например, pyrus.company.ru). Если формы встроены в другие сайты, добавьте и их домены;
    • Внешний вид — оставьте без изменений;
    • Сложность — «Средняя», остальные параметры — по умолчанию.
  4. Нажмите Создать.
  5. Откройте созданную капчу и скопируйте два ключа:
    • Ключ клиента — публичный, используется на странице формы;
    • Ключ сервера — секретный, с его помощью сервер Pyrus проверяет ответ капчи. Не передавайте его третьим лицам.

Подробнее: документация Yandex SmartCaptcha.

Как задать настройки через pyrus-setup

Капчу включают три параметра:

ПараметрКлюч для pyrus-setupЗначениеЗа что отвечает
USE_RECAPTCHASetupParams:P_1050007trueВключает капчу на публичных формах
RECAPTCHA_YSMART_KEYSetupParams:P_1050008Ключ клиентаПодключает виджет Yandex SmartCaptcha на странице формы
RECAPTCHA_YSMART_SECRETSetupParams:P_1050009Ключ сервераНужен серверу для проверки ответа капчи; хранится в зашифрованном виде

Выполните команды на сервере Pyrus из папки с docker-compose.yml. Если запускаете из другой папки, добавьте -f <путь к docker-compose.yml>.

docker compose run --rm pyrus-setup set-config -n SetupParams:P_1050007 -v true
docker compose run --rm pyrus-setup set-config -n SetupParams:P_1050008 -v <ключ клиента>
docker compose run --rm pyrus-setup set-config -n SetupParams:P_1050009 -v <ключ сервера> -e

Обратите внимание: флаг -e в последней команде обязателен — с ним ключ сервера сохраняется зашифрованным.

Как выключить капчу

docker compose run --rm pyrus-setup set-config -n SetupParams:P_1050007 -v false

Была ли эта статья полезной?