Каталог решений

Покупка продления купона

Продолжительность:
Общая сумма:
0 руб.
Ваш запрос успешно отправлен!

Я согласен с условиями активации продлений
Продлить
Продолжить покупки

Защита от спама Yandex SmartCaptcha

Модуль представляет альтернативу для стандартной CAPTCHA на основе 1С-Битрикс.Работает со стандартными компонентами регистрации, формами добавления элементов инфоблоков и веб-формами. Также возможна интеграция в формы из сторонних модулей или в самописные (см. инструкцию для разработчиков в разделе "Установка").

Защита от спама Yandex SmartCaptcha

Защита от спама Yandex SmartCaptcha

Купить: 2 490 руб.
Попробовать (7 дней)
Скриншоты
Описание

Технические данные

Опубликовано:
07.09.2024
Обновлено:
09.09.2024
Версия:
1.0.1
Установлено:
Менее 50 раз
Подходящие редакции:
«Первый сайт», «Старт», «Стандарт», «Малый бизнес», «Бизнес»
Адаптивность:
Да
Поддержка Композита:
Нет
Совместимо с Сайты24
Нет
Совместимо с PHP 8.1
Да

Пользовательское соглашение

Описание

Модуль представляет альтернативу для стандартной CAPTCHA на основе 1С-Битрикс.

Работает со стандартными компонентами регистрации, формами добавления элементов инфоблоков и веб-формами. Также возможна интеграция в формы из сторонних модулей или в самописные (см. инструкцию для разработчиков в разделе "Установка").

Отзывы (0)
Обсуждения (0)
Здесь пока никто ничего не написал. Будьте первым.
Что нового
1.0.1 (09.09.2024) В новой версии:
  • Исправлена ошибка с повторной инициализацией js после ajax-запроса.
Установка

Начало работы.

Необходимо получить ключи – ключ клиента и ключ сервера для работы модуля. Получить их можно по ссылке - https://cloud.yandex.ru/ru/services/smartcaptcha/.

Ключи устанавливаются в настройках модуля в соответствующих полях.

Настройки модуля.

·       "Текст ошибки при отрицательном ответе при прохождении проверки" - напишите свой текст ошибки.

·       "Язык капчи" - на каком языке отобразить текст в форме проверки на робота

·       "Невидимый режим" - если флаг установлен, в форме не будет отображено задание для проверки капчи

·       "Тестовый режим" - для проверки работы модуля. Система всегда будет "подозревать", что вы робот и будет показывать форму с заданием, даже если вы выбрали "Невидимый режим"

·       "Автоматически подставлять капчу в формы" - скрипты проверки будет автоматически подгружены в формы, выбранные в настройках ниже

·       "Веб-формы для защиты на стороне сервера" - выберите веб-формы, которые необходимо защитить Yandex SmartCaptcha от спама

·       "Автоматически подставлять капчу в регистрацию" - скрипты проверки на работа будут автоматически подгружаться в форму регистрации

·       "Защита регистрации" - даже при автоматической регистрации пользователя (например, из внешнего API) будут проверяться токены Yandex SmartCaptcha

·       "Автоматически подставлять капчу в iblock.element.add.form" - скрипты проверки на работа в шаблон этого компонента будут подгружаться автоматически

·       "Инфоблоки для защиты на стороне сервера" - выберите инфоблоки, которые необходимо защитить от спама. При попытке добавить элемент в выбранный инфоблок (из API или из форм на сайте) будут проверяться токены Yandex SmartCaptcha

·       "Скрыть иконку политики со страниц" - даже в невидимом режиме при подгрузке скриптов Yandex SmartCaptcha внизу страницы будет отображаться небольшой блок "Политика обработки данных". Если вам необходимо скрыть этот блок - отметьте галочку в этой настройке.

Защита веб-форм.

Для автоматической защиты веб-формы должны быть соблюдены требования:

1)    форма реализована через компонент “form.result.new”. Работоспособность со сторонними компонентами не гарантируется.

2)    В настройках компонента выбрано:

·       чекбокс "Автоматически подставлять капчу в формы"

·       в параметре "Веб-формы для защиты на стороне сервера" выбран ID формы

Защита регистрации

Для автоматической защиты регистрации должны быть соблюдены требования:

1)    регистрация на сайте реализована через компонент "main.register" или "system.auth.registration". Работоспособность со сторонними компонентами не гарантируется.

2)    в настройках компонента выбрать:

·       чекбокс "Автоматически подставлять капчу в регистрацию"

·       чекбокс "Защита регистрации"

Важно! При активном чекбоксе "Защита регистрации" будет проверяться любая попытка регистрации на сайте. Необходимо проверить все варианты регистрации на сайте и убедиться, что во все компоненты внедрена капча.

Защита инфоблоков

Для автоматической защиты инфоблоков от спама должны быть соблюдены требования:

1)    Добавление элементов в публичной части сайта реализовано через компонент “iblock.element.add.form”. Работоспособность со сторонними компонентами не гарантируется

2)    В настройках модуля выбрано:

·       чекбокс “Автоматически подставлять капчу в iblock.element.add.form”

·       В списке “Инфоблоки для защиты на стороне сервера” выбран инфоблок, который необходимо защитить от спама.

Важно! Если в списке “Инфоблоки для защиты на стороне сервера” выбран инфоблок, но при добавлении элемента не будет передаваться токен смарт-капчи, то элемент добавлен не будет. Это относится только к публичной части сайта, ограничения на административный раздел не распространяются.

Установка в свои компоненты (для разработчиков).

Обычный submit (без ajax режима).

1)    Установить контейнер с классом smart-captcha в шаблон формы в нужное место

2)    При обработке результатов сабмита добавить

\Bitrix\Main\Loader::includeModule('itescort.yacaptcha');
\Itescort\Yacaptcha\Captcha::checkSmartTokenFromUser($token);

где $token - токен Yandex SmartCaptcha из формы для проверки на стороне Яндекса

3)    Метод возвращает Boolean переменную true или false в зависимости от результата проверки на сервере Яндекса.

Подключение в формы с ajax-режимом.

Видимый режим Yandex SmartCaptcha:

1)    Установить контейнер с классом smart-captcha в шаблон формы в нужное место

2)    При отправке ajax-запроса добавить в данные "smart-token" из формы. Пример:

let smartTokenValue = document.querySelector('input[name="smart-token"]').value;BX.ajax({ url: '/ajax.php', data: {   action: 'save',   smart_token: smartTokenValue,},});

3)    При обработке результатов сабмита добавить

\Bitrix\Main\Loader::includeModule('itescort.yacaptcha');\Itescort\Yacaptcha\Captcha::checkSmartTokenFromUser($token);

где $token - токен Yandex SmartCaptcha из формы для проверки на стороне Яндекса

4)    Метод возвращает Boolean переменную true или false в зависимости от результата проверки на сервере Яндекса.

Невидимый режим:

1)    Установить контейнер с классом smart-captcha в шаблон формы в нужное место

2)    Добавить на форму дата атрибут data-ajax=true

Пример

<fo rm action="" id="your-form" data-ajax="true">

 

Важно! Для корректной проверки такой формы в ней обязательно должен быть элемент type=”submit” (button или input).  

3)    При отправке ajax-запроса добавить в данные "smart-token" из формы (пример кода выше).

4)    При обработке результатов сабмита добавить

\Bitrix\Main\Loader::includeModule('itescort.yacaptcha');\Itescort\Yacaptcha\Captcha::checkSmartTokenFromUser($token);

где $token - токен Yandex SmartCaptcha из формы для проверки на стороне Яндекса

5)    Метод возвращает Boolean переменную true или false в зависимости от результата проверки на сервере Яндекса.

Поддержка
Все вопросы по настройке модуля можно задавать по адресу support@itescort.ru.

Другие решения разработчика

Решение добавлено в корзину

Перейдите в корзину и оформите заказ или продолжите покупки
Перейти в корзину
Продолжить покупки