Ответ 1
Если вы хотите запустить reCaptcha на localhost, вы должны использовать безопасный токен, как описано здесь: документальная документация по безопасности google это решило мою локальную проблему. Раньше у меня было сообщение об ошибке "Недопустимый домен для ключа сайта". Возможно, это связано с тем, что никто не говорит, что локальный хост должен быть назван "localhost" или иметь стандартный IP-адрес, используемый для localhosts. В любом случае использование защищенного токена полностью разрешило это.
Для создания безопасного маркера я использую slushie php implementation
Часть PHP:
<?PHP
use ReCaptchaSecureToken\ReCaptchaToken as ReCaptchaToken;
require_once("libs/ReCaptchaToken.php");
//Generate recaptcha token
$config = [ 'site_key' => 'place-your-site-key-here',
'site_secret' => 'place-your-secret-key-here'
];
$recaptcha_token = new ReCaptchaToken($config);
$recaptcha_session_id = uniqid('recaptcha');
$recaptcha_secure_token = $recaptcha_token->secureToken($recaptcha_session_id);
?>
HTML:
<html>
<head>
...
<script src='//www.google.com/recaptcha/api.js'></script>
</head>
<body>
<form>
...
<div class="g-recaptcha" data-sitekey="place-your-site-key-here" data-stoken="<?PHP echo $recaptcha_secure_token; ?>"></div>
</form>
</body>
</html>