Skip to content

Instantly share code, notes, and snippets.

@Mons1eurEnzo
Created January 23, 2017 12:06
Show Gist options
  • Star 7 You must be signed in to star a gist
  • Fork 3 You must be signed in to fork a gist
  • Save Mons1eurEnzo/88331162750b6b5aea1261829a5eabce to your computer and use it in GitHub Desktop.
Save Mons1eurEnzo/88331162750b6b5aea1261829a5eabce to your computer and use it in GitHub Desktop.
Подключаем Recaptcha 2 к Bitrix
//Шаг 2 - в компоненте добавляем проверку:
<?
$recaptcha = new \ReCaptcha\ReCaptcha(RE_SEC_KEY);
$resp = $recaptcha->verify($_REQUEST['g-recaptcha-response'], $_SERVER['REMOTE_ADDR']);
if (!$resp->isSuccess()){
foreach ($resp->getErrorCodes() as $code) {
echo "Ошибка! Проверка не пройдена.";
echo $code;
return;
}
}
?>
//В 2 шага подключается проверка которая защитит ваш компонент от спам ботов.
//Это уже вторая статья о том,как подключить reCaptcha к CMS Bitrix. Но время идет, уже вышла новая версия reCaptcha, с новыми алгоритмами и непробиваемостью от спам ботов.
//Итак, поехали, первым делом, мы добавляем сайт в личном кабинете https://www.google.com/recaptcha/admin#list , на котором у нас будет стоять защита. После регистрации система выдаст 2 ключа, ключ генерации каптчи и секретный ключ, для проверки "верно введен код или нет". После скачиваем PHP библиотеку на гитхабе (https://github.com/google/recaptcha). В библиотеке, из папки src копируем файлы autoload.php и папку ReCaptcha в папку php_interface предварительно создав папку include (для удобства). В файле init.php инклудим библиотеку и в нем же задаем константы: RE_SITE_KEY и RE_SEC_KEY полученные при регистрации проекта в системе.
<?
@require_once 'include/autoload.php';
define("RE_SITE_KEY","6LcM1BATAAAAAL8WJjzVauo8oR1c8df334CbJWw7Me8uC");
define("RE_SEC_KEY","6LcM1BATAAAAAAk3_djGibj67kf5342fdfAHMGPYJuxl1yk");
?>
//В шаблоне сайта или компонента подключаем JS библиотеку:
<?
<script src='https://www.google.com/recaptcha/api.js?hl=ru'></script>
?>
//Библиотека подключена, константы определены, можем использовать recaptcha в своих компонентах. Все подключается в 2 шага: Шаг 1 - в шаблоне компоненты, добавляем следующую конструкцию, где хотим вывести защитный код:
<?
<div class="g-recaptcha" data-sitekey="<?=RE_SITE_KEY?>"></div>
?>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment