Как установить reCAPTCHA на сайт под управлением 1С-Битрикс
Необходимо иметь аккаунт Google, если его нет – то заводим. Далее, переходим в личный кабинет ReCaptcha Google по ссылке — https://www.google.com/recaptcha/admin#list и добавляем сайт на который будет установлена ReCaptcha. После добавления сайта вы получите два ключа, которые будут нам нужны далее. В общем, заполняем форму ниже.
Жмем кнопку «Регистрация» и получаем заветные ключи.

Ниже ставим настройки ключа самые надежные и жмем сохранить. Смотрим на картинку, отметил.

Добавляем скрипт с русским языком в форму, а именно в наш шаблон. Именно в форму, чтобы он не загружался на каждой страницестранице — . Атрибут «async» — браузер запускает скрипт асинхронно. Указанный скрипт будет выполняться без ожидания загрузки и отображения всей веб-страницы, веб-страница также не ожидает результата выполнения скрипта, а продолжает загружаться в обычном режиме. Атрибут «defer» — выполнение скрипта откладывается до тех пор, пока вся страница не будет загружена полностью. Смотрим картинку, отметил.

Далее, в этом же шаблоне прописываем вызов виджета, на картинке отметил.

Получаем вот такую форма обратной связи.


Теперь надо проверить включена ли captcha в параметрах компонента.

из этой библиотеки нам понадобятся только файлы из директории SRC, а именно autoload.php и директория ReCaptcha.

и копируем их в /bitrix/php_interface/include/, причем директорию /include/ нужно создать, ее там изначально не будет.

Подключаем. Требуется создать файл init.php, потому как у меня его нет. Вопрос — Почему? Тогда смотрим на картинку и кому интересно — читаем и собственно создаем файл. В данном файле будут хранится переменный наших ключей и мы их сможем вызвать в любом компоненте, который будет использовать ReCaptcha.


В init.php вписываем переменные.
ШАГ ЧЕТВЕРТЫЙ.
Редактируем компонент. Желательно это делать НЕ в общем компоненте, чтобы потом при обновлении данного компонента наш код не затерся, а добавляем свой компонент, т.е. иными словами копируем стандартный и редактируем его под свои нужды. Компоненты располагаются вот тут : /bitrix/components/bitrix/*.*
Я буду использовать main.feedback

поэтому я копирую main.feedback —> main.feedback.recapcha

Подключаем новый созданный компонент в 1С-Битрикс и копируем при редактировании шаблон по умолчанию “.defaul” —> в “feedback_form”, чтобы была возможность редактировать шаблон.
Получается вот такой код вызова компонента.

Теперь редактируем непосредственно сам файл — /bitrix/components/bitrix/main.feedback.recapcha/component.php. Ищем строку где вызывается CAPTCHA, комментируем стандартный код вызова 1С-Битрикс и пишем свой. Для наглядности я оставил закоментированный код, чтобы видно было. Смотрим картинку ниже.

Все должно работать ))) Успехов.
Установка reCaptcha на свой сайт
Когда в базе данных сайта скапливается множество неактивных пользовательских аккаунтов, а под статьями — ссылок на неизвестные веб-страницы, наступает пора проверить защиту всех форм на веб-сайте. Спам на веб-ресурсе является сигналом того, что его атаковали боты и нужно настроить их блокировку. Чтобы действия на сайте могли осуществлять только добросовестные пользователи, на него устанавливают «reCAPTCHA». Она помогает проанализировать поведение посетителей веб-ресурса и проверить их на человечность. Им предлагают пройти валидацию, поставив галочку в чекбоксе при отправке заполненной формы на сервер. Человек может выполнить эту задачу, машина нет. Если говорить простыми словами, «reCaptcha» — средство защиты любых форм, которые заполняют пользователи на веб-ресурсе, от спам-ботов. Приводим ниже инструкцию «reCaptcha — как установить на сайт».

Изображение от svstudioart на Freepik.
Как подключить reCaptcha на сайте: инструкция
«reCaptcha» бывает разных типов. Прежде чем перейти к ее установке, нужно выбрать тип, который подойдет вашему сайту и его посетителям. «reCAPTCHA v3» следит за пользователями и оценивает степень их схожести с ботами по бальной системе. На основании этих оценок принимается решение о том, что делать с посетителем, например, запретить ему отправку форм. «reCAPTCHA v2» всегда предлагает пользователю установить флажок в специальном поле.
Кроме того, важно заранее определиться с тем, отправку каких форм будет защищать рекапча. Ее можно настроить таким образом, чтобы она появлялась при каждом действии пользователя на сайте или при его взаимодействии с конкретным полем.
После того как организационные моменты решены, можно переходить к установке программы на сайт.
Регистрация в сервисе reCaptcha
Перейдите на страницу сервиса «Google reCAPTCHA» и выберите пункт «Консоль администратора.

Рекапча является инструментом Google, поэтому для работы с ней потребуется авторизация в гугл-аккаунте. После входа в систему вы попадете на страницу регистрации вашего сайта в сервисе.

В поле «Ярлык» укажите название капчи. Если создадите несколько капч для разных сайтов, ярлык поможет их отличить друг от друга. Выберете тип программы и домен, на который ее нужно установить. Завершите регистрацию принятием условий использования сервиса и нажатием кнопки «Отправить». Вам будут направлены «Ключ сайта» и «Секретный ключ», которые в дальнейшем понадобятся для настройки форм.
Интеграция на стороне клиента
Подробную инструкцию для 2 и 3 версий можно прочитать на официальном сайте.
Выберете форму для настройки. Это может быть, например, форма для получения обратной связи от юзеров с полями «Имя», «Электронный адрес» и «Текст сообщения». Создайте для нее файл «index.php». В сети можно найти разные варианты, в качестве примера мы выбрали этот.

Документация Google рекомендует далее подключить скрипт, указав в нем «Ключ сайта».

Это все, что нужно, чтобы сервис работал на стороне клиента.
Интеграция на стороне сервера
На следующем шаге создается код, который будет обрабатывать отправки и капчи. Он записывается в файл «send.php».

Токен из скрытого поля нужно записать в переменной $captcha, которая затем преобразуется в «Секретный ключ». Параметр «om_score» будет определять, кем является пользователь — ботом или человеком. Если значения в нем больше 0,5 — «живой юзер». Если менее — скрипт. Владелец сайта может просматривать статистику и принимать решение о том, пропускать ли заявку пользователя на отправку формы.
На следующем этапе создается js-обработчик формы. Его код прописывается в «index.php». Программа представляет собой fetch-запрос, который направляется на «send.php» и возвращает значение параметра «om_score», отвечающего за понимание того, кем является юзер. Если становится понятно, что сообщение пишет человек, алгоритм его принимает.

Установка reCaptcha с помощью CMS
Добавление капчи на website через CMS происходит с помощью плагинов. Разберем процесс на примере популярной системы управления контентом WordPress. Наиболее известным плагином для установки рекапчи в WP является «Contact Form 7 Captcha».
- Установка плагина. Войдите в панель управления ВордПресс. На вкладке плагины нажмите кнопку «Добавить новый». Через поисковую строку найдите «Contact Form 7 Captcha». Установите, а затем активируйте плагин.
- Регистрация сайта в сервисе «Google reCAPTCHA».
- Сохранение ключей.
- Настройка плагина. В административной панели WordPress найдите раздел «Настройки» и выберете «Contact Form 7 Captcha». Заполните поля, в открывшейся форме. Строка «Invalid captcha error message» должна содержать разъяснения для пользователей, которые не смогли правильно решить рекапчу.
- Сохранение настроек.
- Добавление контактной формы на сайт. Откройте раздел «Contact Form 7» / «Контактные формы». Перейдите на вкладку «Шаблон формы» и перед тегом [submit] вставьте в поле шорткод [xxxxx-simple-recaptcha]. Настройте форму и сохраните изменения.
Заключение
Спам-боты могут нанести урон репутации и безопасности сайта, испортить аналитику трафика и обесценить труд SEO-специалистов. «reCAPTCHA» является действенным и простым способом защиты сайта от вредоносных программ. Чтобы не раздражать добросовестных пользователей вводом слов или выбором картинок, можно выбрать капчу, которая будет незаметно за ними следить и не станет проводить валидацию без вашего разрешения.
Подключаем reCAPTCHA 2 к формам 1С-Битрикс
Встроенная стандартная капча Битрикса все меньше стала помогать от спам-ботов в формах обратной связи. Сейчас наиболее распостранненный вариант защиты форм — это исползование Google reCAPTCHA, ниже инструкция как подключить ее к формам обратной связи 1С-Битрикс без использования плагинов.
На данный момент reCAPTCHA существует в версиях 2 и 3, мы будем подключать версию 2.
Шаг 1.
Регистрируем домен на сайте https://www.google.com/recaptcha/admin/ и получаем 2 ключа (ключ сайта и секретный ключ).
Шаг 2.
В header.php вашего шаблона добавляем:
Шаг 3.
Заходим в шаблон формы, ищем где подключается стандартная капча и меняем все на:
«sitekey» — это ключ сайта полученный при регистрации.
Должно получится что-то похожее:
if($arResult["isUseCaptcha"] == "Y") < ?> // isUseCaptcha
Не забудьте в настройках компонента указать «Использовать капчу».
Шаг 4.
Теперь в файл init.php добавляем код (не забудьте заменить секретный ключ, на тот который получили при регистрации):
function my_onBeforeResultAdd($WEB_FORM_ID, &$arFields, &$arrVALUES) < global $APPLICATION; if ($_REQUEST['g-recaptcha-response']) < $httpClient = new \Bitrix\Main\Web\HttpClient; $result = $httpClient->post( 'https://www.google.com/recaptcha/api/siteverify', array( 'secret' => '6LexQ88UAsAAAAOl0oOlZaqddfedsrwt5Re2K3KO2V', 'response' => $_REQUEST['g-recaptcha-response'], 'remoteip' => $_SERVER['HTTP_X_REAL_IP'] ) ); $result = json_decode($result, true); if ($result['success'] !== true) < $APPLICATION->throwException("Вы не прошли проверку"); return false; > > else < $APPLICATION->ThrowException('Вы не прошли проверку'); return false; > > AddEventHandler('form', 'onBeforeResultAdd', 'my_onBeforeResultAdd');
Подробнее о файле init.php можно прочитать в обучающих материалах Битрикс https://dev.1c-bitrix.ru/learning/course/?COURSE_ID=43&LESSON_ID=2916
Теперь reCaptcha должна работать.
Проблема с формами в режиме ajax
Если ваша Битрикс форма работает в режиме ajax, то reCaptcha будет работать некорректно. Например при поялении ошибок валидации формы, reCaptcha не будет отображаться.
Я решил это так:
нужно добавить в сам шаблон формы, а не в файл header.php шаблона как указано в шаге № 2.
Дальше нужно отследить событие onAjaxSuccess и перерисовать капчу, я сделал это добавив в файл bitrix/templates/.default/js/common.js код:
$(document).ready(function()< … … //Добавляем этот код BX.addCustomEvent('onAjaxSuccess', function()< grecaptcha.render('g-recaptcha', < 'sitekey' : '6LexQ88UAAAAAGPs1eC9GFv0thZ7bHP2z6bIYbEU' >); >);
После этого reCaptcha заработала
Как поставить гугл капчу на сайт битрикс
Нашли ошибку? Выделите мышкой и нажмите Ctrl+Enter
Подключение Google reCAPTCHA
Подключение Google reCAPTCHA
В Аспро: Шины и диски 2.0 вы можете выбрать, какую капчу использовать на своем сайте: стандартную от 1С-Битрикс или Google reCAPTCHA.
Google reCAPTCHA — инструмент от Google, который анализирует поведение пользователей и в зависимости от него предлагает пройти проверку по различным сценариям: от простейшего клика по квадрату «Я не робот» до расшифровки надписей и выбора определенных картинок, если есть подозрение, что с формой взаимодействует бот, а не реальный человек.
Начиная с версии 1.1.4, вы можете выбрать между reCAPTCHA v2 и reCAPTCHA v3. До этого была доступна только reCAPTCHA v2, которая требует от пользователя пройти тест с картинками.

ReCAPTCHA v3 анализирует действия пользователя в фоне и не требует от него дополнительных действий.

Переключение осуществляется в административной части сайта. Перейдите в настройки: Аспро (1) → Аспро: Шины и диски 2.0 (2) → Настройки (3) .

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

После этого появятся дополнительные поля. Чтобы выбрать, какая версия reCAPTCHA будет использоваться на сайте, выберите его из выпадающего меню «Версия».

Подключение капчи от Google потребует дополнительной регистрации вашего сайта на сервисе. Перейдите по ссылке и заполните форму следующего вида:
В поле «Ярлык» (1) укажите название сайта, его раздела или формы обратной связи, на которой устанавливаете капчу. Эта метка для вас, чтобы потом было проще ориентироваться в статистике по зарегистрированным на сервисе сайтах.
В «Типе reCAPTCHA» (2) выберите версию капчи.
В поле «Домены» (3) можно указать несколько доменов, по одному в строке. Вместе с доменом капча подключится и ко всем поддоменам.
Далее следует ознакомиться с условиями использования reCAPTCHA. Для продолжения регистрации, необходимо их принять — установить соответствующую галку (4) .
Также рекомендуется поставить галку у пункта «Отправлять владельцам оповещения» (5) . Данная опция будет держать вас в курсе о проблемах сайта, связанных с трафиком.

После успешной регистрации вам будет предоставлена инструкция подключения капчи к своему сайту. Из нее потребуется публичный и секретный ключи. Публичный ключ необходим для отображения блока капчи. Секретный — для проверки правильности отправки капчи.

Скопируйте их в одноименные поля в административной части вашего сайта и выберите версию капчи.

Настройка reCAPTCHA v2
В настройках Google reCAPTCHA вы можете задать маски исключения (1) и настроить внешний вид блока, отображаемого с формой обратной связи (2) и (3) .

Блоки могут быть:
- светлыми и темными;

- обычными, компактными и скрытыми.

Выбрав скрытый размер, блок можно убрать из формы обратной связи. При этом он может отображаться в правом или левом нижнем углу.
Для сохранения настроек в административной части сайта пролистайте страницу вниз и нажмите кнопку «Применить». Если вы выбрали reCAPTCHA v2 , в форме обратной связи появится соответствующий блок.
Настройка reCAPTCHA v3
В настройках Google reCAPTCHA вы можете задать маски исключения (1) и настроить минимальную оценку пользователя (2) . Если рейтинг посетителя при заполнении формы будет ниже указанного, ему предложат пройти тест.

Сохраните изменения. Если вы выбрали reCAPTCHA v3 , в форме обратной связи не будет блока проверки.
