Подключение ReCaptch-и от googl-а

recap
Очень удобный и довольно простой вариант — это ReCaptcha от Google. Помимо всего, у нее выходят новые версии, если вдруг ее начнут обходить какие-либо боты, но пока она неуязвима.

Интеграция ReCaptcha в 1С-Битрикс.

1. Заходим в личный кабинет ReCaptcha в Google https://www.google.com/recaptcha/admin#list, для этого у вас должен быть аккаунт в гугл, т.е. заведенная почта. И в этом личном кабинете добавляем сайт, на который встраиваем ReCaptcha. После добавления сайта вы получите 2-а ключа, которые нам нужны дальше.

2. Скачиваем библиотеку ReCaptcha тут https://github.com/google/recaptcha, далее из этой библиотеки берем только файлы из директории /SRC/ autoload.php и директорию /ReCaptcha/ и копируем их в /bitrix/php_interface/include/ (директорию /include/ нужно создать, ее там изначально нет).

3. Далее в init,php подключаем капчу с ключами, вставляя следующий код в самом начале файла, ну после <? :

Ключи заменяем соответственно на свои, которые получили в личном кабинете.

4. Далее в шаблоне сайта или компонента подключаем js с Google:

5. В шаблоне компонента (template.php), в месте отображения капчи вставляем код:

6. В компоненте добавляем проверку, т.е. в файл /bitrix/components/bitrix/компонент/component.php (но только, лучше создать свое пространство имен, чтобы обновлениями не затереть все)

Теперь капча должна работать.

Как подключить несколько ReCaptcha на одной странице.

Кто пробовал уже поняли, что на странице будет отображаться только одна капча, а если у нас, например, 2-е и более форм на одной странице?! Решение тоже есть.

1, 2, 3 и 6-й шаги делаем, как описано выше.

4. Далее в КОНЦЕ шаблона сайта или компонента подключаем js с Google:

5. В шаблоне компонента (template.php), в месте отображения капчи вставляем код:

6. Все как описано выше.

7. Вставляем javascript инициализации, у Google в примере он находится в head, но мы размещали и после всех форм, т.к. нужно было генерировать после цикла foreach и все тоже работало. Код следующий:

Дальше все должно работать.

PS дополнительную информацию по размещению можно также посмотреть в документации https://developers.google.com/recaptcha/docs/display#example, сама страница гугла об этом: https://www.google.com/recaptcha/intro/

вариант для обычного сайта: http://webformyself.com/novaya-recaptcha-ot-google/

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *