1. идем на https://www.google.com/recaptcha/admin, вводим свой домен (домены) и получаем "Ключ" и "Секретный ключ" для каждого домена.
2. в форму ввода данных, которую надо защитить капчей вставляем
{* BEGIN reCAPTCHA *}
<script src='https://www.google.com/recaptcha/api.js' async defer></script>
<div class="g-recaptcha" data-sitekey="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"></div>
{* END reCAPTCHA *}
где XXX...XXX это тот самый "ключ" (не секретный).
В случае, если эта форма не в шаблоне, а в чистом HTML надо заменить смарти-комменты {* *} на HTML-комменты <!-- -->
3. в PHP-обработчик формы вставляем что-то типа
# BEGIN reCAPTCHA
$skey = 'YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY';
$url = "https://www.google.com/recaptcha/api/siteverify?secret=$skey&response=".$_POST['g-recaptcha-response'];
#$result = file_get_contents($url); // простой вариант, когда allow_url_fopen включен
$ch = curl_init(); // то же самое, но через cURL
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result = json_decode(curl_exec($ch),true);
curl_close($ch);
if(!$result['success']) {тут какая-то реакция на то, что $result['success']==false, т.е. капча неверна};
# END reCAPTCHA
где YYY...YYY это тот самый "секретный ключ".
В $result['success'] будет либо false, либо true в зависимости от правильности ввода капчи.
4. если в .htaccess прописано что-нибудь типа
Header set Content-Security-Policy "frame-src 'self';"
то добавляем туда гугль
Header set Content-Security-Policy "frame-src 'self' https://www.google.com;"
Более-менее понятное описание заголовка Content-Security-Policy можно найти здесь - http://zabolotskikh....ecurity-policy/ - или поиском в поисковике.
Описание настроек капчи находится здесь - https://developers.g...ha/docs/display - но как-то очень уж убого там... Два варианта цвета и размера.
PS. Знакомому с PHP/HTML/Smarty этого более чем достаточно. Не знакомому - увы, либо придется стать знакомым, либо банально оплатить внедрение.