в реализации, которая в вики, ответ рекапчи 3 кладется в поле $_POST['recaptcha]'
для рекапчи 2 ответ рекапчи кладется в $_POST['g-recaptcha-response']
просьба или добавить еще одну рекапчту в2
или попробывать сделать так
просто пытаться достать из 2х источников
$token = null;
foreach(['recaptcha', 'g-recaptcha-response'] as $key){
if(isset($_POST[$key]){
$token = $_POST[$key];
break;
}
}
но второй вариант менее предпочтительный тем что у гугла для в2 и в3 ключи разные( и можно юзать только одно что то
recatpcha v2
Re: recatpcha v2
все оказалось проще
data-callback callback
Optional. The name of your callback function, executed when the user submits a successful response. The g-recaptcha-response token is passed to your callback.
те прямо в JS можно указать recaptcha и все сразу заработает
я правда v2 не пользовался, если не заработает - скидывайте где тестируется
data-callback callback
Optional. The name of your callback function, executed when the user submits a successful response. The g-recaptcha-response token is passed to your callback.
те прямо в JS можно указать recaptcha и все сразу заработает
я правда v2 не пользовался, если не заработает - скидывайте где тестируется
Don't forget to run script update
Re: recatpcha v2
ну вот и все
несмотря на совпадение урлов проверки пытаться мимикрировать в2 под в3 бесполезно
ибо там вот такие ответы
успешно
Array
(
[success] => 1
[challenge_ts] => 2023-01-16T14:31:03Z
[hostname] => host.com
)
ошибка
Array
(
[success] =>
[error-codes] => Array
(
[0] => timeout-or-duplicate
)
)
там принципиально нет никакого score
то есть без правки сервера не обойтись
а там можно создать параллельные пары ключей для в2/в3
или же комбинированный в2+в3 и отличать их по имени поля (для в2 это дефолтно $_POST['g-recaptcha-response']) и при одинаковой проверке по разному интерпретировать результаты нужно
несмотря на совпадение урлов проверки пытаться мимикрировать в2 под в3 бесполезно
ибо там вот такие ответы
успешно
Array
(
[success] => 1
[challenge_ts] => 2023-01-16T14:31:03Z
[hostname] => host.com
)
ошибка
Array
(
[success] =>
[error-codes] => Array
(
[0] => timeout-or-duplicate
)
)
там принципиально нет никакого score
то есть без правки сервера не обойтись
а там можно создать параллельные пары ключей для в2/в3
или же комбинированный в2+в3 и отличать их по имени поля (для в2 это дефолтно $_POST['g-recaptcha-response']) и при одинаковой проверке по разному интерпретировать результаты нужно
Re: recatpcha v2
добавил в ап
Use Captcha on Comments and contect form? = yes, v2
форма получается вида
Use Captcha on Comments and contect form? = yes, v2
форма получается вида
Code: Select all
<head>
<title> <!--GALLERY_SLUG--> with reCAPTCHA</title>
<script src="https://www.google.com/recaptcha/api.js" async defer></script>
</head>
err: <!--ERROR-->
<FORM name="add_comment" method="POST">
<input type="hidden" name="action" value="add_comment">
<div class="g-recaptcha" data-sitekey="<!--TUBE_RECAPTCHA_SITE_KEY-->"></div>
<label>Name:</label> <input class="s_input" type="text" name='username' id='username' value="">
<br>
<textarea class="s_text" class="ph2" name='comment' id='comment' rows=5 cols=35 value="Leave Your Comments Here"></textarea>
<input type=submit value='Send comment' >
</form>
Don't forget to run script update