Как установить reCAPTCHA на сайт под управлением 1С-Битрикс
ШАГ ПЕРВЫЙ.
Необходимо иметь аккаунт Google, если его нет – то заводим. Далее, переходим в личный кабинет ReCaptcha Google по ссылке - https://www.google.com/recaptcha/admin#list и добавляем сайт на который будет установлена ReCaptcha. После добавления сайта вы получите два ключа, которые будут нам нужны далее. В общем, заполняем форму ниже.
Жмем кнопку «Регистрация» и получаем заветные ключи.
Ниже ставим настройки ключа самые надежные и жмем сохранить. Смотрим на картинку, отметил.
ШАГ ВТОРОЙ.
Добавляем скрипт с русским языком в форму, а именно в наш шаблон. Именно в форму, чтобы он не загружался на каждой страницестранице - . Атрибут «async» - браузер запускает скрипт асинхронно. Указанный скрипт будет выполняться без ожидания загрузки и отображения всей веб-страницы, веб-страница также не ожидает результата выполнения скрипта, а продолжает загружаться в обычном режиме. Атрибут «defer» - выполнение скрипта откладывается до тех пор, пока вся страница не будет загружена полностью. Смотрим картинку, отметил.
Далее, в этом же шаблоне прописываем вызов виджета, на картинке отметил.
Получаем вот такую форма обратной связи.
ШАГ ТРЕТИЙ.
Теперь надо проверить включена ли captcha в параметрах компонента.
Скачиваем библиотеку ReCaptcha тут https://github.com/google/recaptcha
из этой библиотеки нам понадобятся только файлы из директории 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С-Битрикс и пишем свой. Для наглядности я оставил закоментированный код, чтобы видно было. Смотрим картинку ниже.
Все должно работать ))) Успехов.
Возврат к списку статей
Статьи
Вопрос-Ответ
У Вас имеются вопросы? - Задавайте!