Yandex SmartCaptcha

https://yandex.cloud/ru/docs/smartcaptcha/

Создать капчу

  1. В консоли управления выберите каталог.

  2. Выберите сервис Yandex SmartCaptcha.

  3. Нажмите Создать капчу.

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

Получить ключи капчи

  1. Нажмите на имя капчи

  2. На вкладке Обзор скопируйте значения полей Ключ клиента и Ключ сервера.

Замена стандартной капчи на Yandex SmartCaptcha в формах модуля «Формы»

Интеграция на стороне клиента

Вставьте этот фрагмент перед закрывающим тегом в HTML-коде:

Интеграция на стороне сервера

В XSL-шаблон в тег вносим строку виджета каптчи там, где нужен показ:

Когда пользователи отправляют форму со встроенной проверкой Yandex SmartCaptcha, вместе с прочими данными вы получаете строку smart-token. Чтобы узнать, прошел ли пользователь проверку, отправьте GET-запрос. Если получили успешный ответ, то форма отправляется.

Замена стандартной капчи на Google reCaptcha в комментариях

Рассмотрим пример замены капчи для комментариев магазина. Для комментариев информационных систем точно такой же алгоритм.

Интеграция на стороне клиента

1. Если у вас стандартные комментарии системы, то вставьте этот фрагмент перед закрывающим тегом </head> в HTML-коде, указав вместо your_key Ключ клиента, который был получен ранее:

  1. Если у вас комментарии без возможности ответов на уже добавленные комментарии, т.е. форма комментариев одна на странице, то вставьте этот фрагмент перед закрывающим тегом в HTML-коде:

Интеграция на стороне сервера

В XSL-шаблоне карточки товара, в темлейт формирующий форму комментариев, в тег вносим строку виджета каптчи там, где нужен показ:

Когда пользователи отправляют форму со встроенной проверкой Yandex SmartCaptcha, вместе с прочими данными вы получаете строку smart-token. Чтобы узнать, прошел ли пользователь проверку, отправьте GET-запрос. Если получили успешный ответ, то форма отправляется.

Переходим в типовую динамическую страницу магазина и настраиваем её на обработку Yandex SmartCaptcha:

  1. В коде типовой динамической страницы, после $Shop_Controller_Show = Core_Page::instance()->object; добавляем передачу в XML Ключ клиента, который был получен выше.

  1. Следующий шаг — замена стандартной обработки капчи. Для этого строку:

заменяется на:

где в переменной $sSecretKey указывается Ключ сервера, который был получен вместе с ключом клиента при регистрации в Yandex SmartCaptcha.

Последнее обновление