Yandex SmartCaptcha
https://yandex.cloud/ru/docs/smartcaptcha/
До 10 тысяч запросов в месяц бесплатно
Создать капчу
В консоли управления выберите каталог.
Выберите сервис Yandex SmartCaptcha.
Нажмите Создать капчу.

Внесите нужные настройки, настройте внешний вид и нажмите Создать

Получить ключи капчи
Нажмите на имя капчи
На вкладке Обзор скопируйте значения полей Ключ клиента и Ключ сервера.
Замена стандартной капчи на Yandex SmartCaptcha в формах модуля «Формы»
Интеграция на стороне клиента
Вставьте этот фрагмент перед закрывающим тегом в HTML-коде:
Интеграция на стороне сервера
В XSL-шаблон в тег вносим строку виджета каптчи там, где нужен показ:
Когда пользователи отправляют форму со встроенной проверкой Yandex SmartCaptcha, вместе с прочими данными вы получаете строку smart-token. Чтобы узнать, прошел ли пользователь проверку, отправьте GET-запрос. Если получили успешный ответ, то форма отправляется.
Замена стандартной капчи на Google reCaptcha в комментариях
Рассмотрим пример замены капчи для комментариев магазина. Для комментариев информационных систем точно такой же алгоритм.
Интеграция на стороне клиента
1. Если у вас стандартные комментарии системы, то вставьте этот фрагмент перед закрывающим тегом </head> в HTML-коде, указав вместо your_key Ключ клиента, который был получен ранее:
Если у вас комментарии без возможности ответов на уже добавленные комментарии, т.е. форма комментариев одна на странице, то вставьте этот фрагмент перед закрывающим тегом в HTML-коде:
Интеграция на стороне сервера
В XSL-шаблоне карточки товара, в темлейт формирующий форму комментариев, в тег вносим строку виджета каптчи там, где нужен показ:
Когда пользователи отправляют форму со встроенной проверкой Yandex SmartCaptcha, вместе с прочими данными вы получаете строку smart-token. Чтобы узнать, прошел ли пользователь проверку, отправьте GET-запрос. Если получили успешный ответ, то форма отправляется.
Переходим в типовую динамическую страницу магазина и настраиваем её на обработку Yandex SmartCaptcha:
В коде типовой динамической страницы, после
$Shop_Controller_Show = Core_Page::instance()->object;добавляем передачу в XML Ключ клиента, который был получен выше.
Следующий шаг — замена стандартной обработки капчи. Для этого строку:
заменяется на:
где в переменной $sSecretKey указывается Ключ сервера, который был получен вместе с ключом клиента при регистрации в Yandex SmartCaptcha.
Последнее обновление