bitrix

google recaptcha v2 на примере mfc-ritual.ru (универсальный метод для Bitrix)

Published

Установка скррипта платная.

Внимание скрипт просто прекращает работу формы при отправке, если капча не пройдена! БЕЗ УВЕДОМЛЕНИЙ!

идем по путям к базовой форме /local/templates/.default/components/bitrix/form.result.new/default.form

файл template.php

вставляем

<div class=”google-box”>
<div class=”g-recaptcha” data-sitekey=”ВАШ КЛЮЧ САЙТА></div>
</div>

в /local/php_interface

в файл init.php наверх

вставляем

if(!empty($_POST)) {
if(!isset($_POST[‘g-recaptcha-response’]) || empty($_POST[‘g-recaptcha-response’])) {
echo ‘Ошибка, капча пропущена’;
exit;
} else {
$secret = ‘СЕКРЕТНЫЙ КЛЮЧ’;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, ‘https://www.google.com/recaptcha/api/siteverify?secret=’.$secret.’&response=’.$_POST[‘g-recaptcha-response’]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
$response = json_decode($response);
if($response->success) {
echo ‘Successful login.’;
} else {
echo ‘reCAPTHCA verification failed, please try again.’;
exit;
}
}
}

скрипт

<script src=’https://www.google.com/recaptcha/api.js’ async defer ></script>

подключаем непосредственно  в  шаблоне самой формы, если форма подгружается на ajax

но  также и  подключаем в шапке сайта перед закрывающим тэгом head

Leave a Reply

Your email address will not be published. Required fields are marked *