Документация BILLmanager 6

Защита от ботов (CAPTCHA)

CAPTCHA — технология защиты веб-сервисов от ботов. В BILLmanager реализована поддержка двух систем, анализирующих поведение пользователей на форме регистрации и авторизации:

  • Google reCAPTCHA (включая invisible reCAPTCHA) — сервис от Google, анализирующий поведение пользователей на форме регистрации и авторизации;
  • Yandex SmartCaptcha — решение от Яндекса с возможностью выбора между стандартной и невидимой проверкой.  

Оба сервиса автоматически определяют подозрительную активность. Если действия пользователя кажутся нетипичными, система предлагает пройти проверку (распознавание изображений, выбор объектов и т.д.). 

Платформа позволяет:

  • создать глобальные настройки CAPTCHA;
  • настроить защиту отдельно для каждого провайдера.
    Настройки CAPTCHA, которые указаны в параметрах провайдера, имеют больший приоритет, чем указанные в разделе Глобальные настройки.

Настройка Google reCAPTCHA

Google reCAPTCHA анализирует поведение пользователя на форме регистрации и авторизации платформы BILLmanager. Если действия клиента можно отнести к подозрительным, то ему предлагается пройти тест на распознавание изображений. BILLmanager поддерживает два вида защиты: 

  • reCAPTCHA — на форме регистрации расположен флаг "Я не робот". Проверка запросов происходит после активации флага; 
  • invisible reCAPTCHA — в невидимом режиме CAPTCHA отсутствует на странице для большинства пользователей. Окно с заданием видят только те пользователи, которых сервис считает подозрительными.

Чтобы настроить reCAPTCHA, перейдите в раздел Провайдер  Глобальные настройки → блок настроек Настройки формы регистрации и авторизации → в полях Тип капчи на форме регистрации и Тип капчи на форме авторизации выберите Google reCAPTCHA.

Укажите следующие параметры:

  • Невидимая капча  — активируйте опцию, чтобы скрыть окно проверки со страницы;
  • Ключ и Секретный ключ — уникальные ключи для использования reCAPTHCA API. Отображаются на официальной странице сервиса Google reCAPTCHA после регистрации сайта. 

    Будьте внимательны при заполнении полей Ключ и Секретный ключ:

    • если указать некорректное значение в поле Ключ, reCAPTCHA отобразит ошибку; 
    • если указать некорректное значение в поле Секретный ключ, прохождение проверки всегда будет считаться безуспешным;
    • если выбрать флажок Невидимая капча и указать некорректное значение в поле Ключ, на формах регистрации и авторизации отобразится ошибка.

На стороне Google при настройке ключа выберите тип reCAPTCHA:

  • с помощью заданий v2: 
    • флаг "Я не робот";
    • невидимый значок reCAPTCHA — invisible reCAPTCHA.

Каждый ключ работает только с одним типом сайта reCAPTCHA. Подробнее о типах reCAPTCHA см. в  официальной документации сервиса.

Настройка Google reCAPTCHA

Настройка Yandex SmartCaptcha

Использование Yandex SmartCaptcha в BILLmanager позволяет обеспечить защиту от автоматических атак. Yandex SmartCaptcha предоставляет возможность:

  • выбрать между стандартной и невидимой CAPTCHA;
  • настроить защиту форм регистрации и авторизации, выбрав из нескольких вариантов задания для CAPTCHA различной сложности. Например, распознавание текста, слайдер, или калейдоскоп. Подробнее о настройке Yandex SmartCaptcha на стороне Яндекс см. в официальной документации Yandex.

Чтобы настроить Yandex SmartCaptcha:

  1. Создайте новую Yandex SmartCaptcha в консоли управления на сайте Яндекса. После создания вы получите два уникальных ключа: Ключ клиента и Ключ сервера.
  2. В BILLmanager перейдите в раздел Провайдер  Глобальные настройки → блок настроек Настройки формы регистрации и авторизации → в полях Тип капчи на форме регистрации и Тип капчи на форме авторизации выберите Yandex SmartCaptcha.
  3. Укажите следующие параметры:
    • Невидимая капча  — активируйте опцию, чтобы скрыть окно проверки со страницы. В невидимом режиме CAPTCHA отсутствует на странице для большинства пользователей. Окно с заданием видят только те пользователи, которых сервис считает подозрительными.
    • Ключ клиента и Ключ сервера — уникальные ключи для использования Yandex SmartCAPTCHA. Подробнее о ключах в официальной документации Yandex.

Будьте внимательны при заполнении полей Ключ клиента и Ключ сервера:

  • если указать некорректное значение в поле Ключ клиента, CAPTCHA отобразит ошибку; 
  • если указать некорректное значение в поле Ключ сервера, прохождение проверки всегда будет считаться безуспешным;
  • если выбрать флажок Невидимая капча и указать некорректное значение в поле Ключ клиента, увидеть сообщение об ошибке можно только из консоли разработчика в браузере. На формах регистрации и авторизации отображение ошибки не предусмотрено.

Настройка Yandex SmartCaptcha

Когда меняется язык интерфейса платформы, Yandex SmartCaptcha автоматически изменяет язык. При этом состояние CAPTCHA сбрасывается.

Настройки отдельно для провайдера

Вы можете настроить CAPTCHA отдельно для каждого провайдера. Для этого перейдите в раздел Провайдер  Провайдеры → выберите провайдера → кнопка Изменить. Форма настройки CAPTCHA аналогична форме в разделе Глобальные настройки, но для настройки на странице авторизации добавляется дополнительное поле:

  • Список исключения — укажите IP-адреса или диапазон IP-адресов, для которых не будет выполняться проверка.

Если в поле CAPTCHA выбрано значение Глобальные настройки, то для провайдера будут действовать параметры, установленные в разделе ПровайдерГлобальные настройки.

Работа reCAPTCHA через API

Возможность настройки reCAPTCHA оставлена для обратной совместимости. Данный метод не подходит при использовании Yandex SmartCaptcha.

Если вы используете reCAPTCHA, то заказ услуг через API BILLmanager будет недоступен. При обращении к BILLmanager через API считается, что проверка на робота не пройдена. 

Для интеграции BILLmanager с сайтом при включённой reCAPTCHA добавьте в заголовок сайта (внутри тегов <head>) скрипт для работы с reCAPTCHA и используйте те же ключи, что и в настройках BILLmanager. Подробнее см. в статье Интеграция с сайтом при включённой reCAPTCHA.

  • Если у вас используется динамический IP-адрес и вариант со списком исключения не подходит, настройте прокси-сервер.
  • Если у вас есть доступ к серверу по SSH, вы можете настроить авторизацию по временным ключам. Подробнее см. Инструкция по авторизации.