Другие модули на выбор

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

Стоимость: руб.
Этот компонент мы сможете использовать только при наличии лицензии. Подходящие редакции:

Получите быструю помощь по покупке, оплате, установке, настройке, продлению и другим вопросам, оставив заявку

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

Необходимо получить ключи – ключ клиента и ключ сервера для работы модуля. Получить их можно по ссылке - 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 в зависимости от результата проверки на сервере Яндекса.