size_t ln = strlen(name) - 1;
if (*name && name[ln] == '\n')
name[ln] = '\0';
Мы используем recaptcha-V3 только, чтобы видеть качество трафика сайта и использовали его в качестве не блокирования. , Так как recaptcha-V3 не требует, чтобы показать на территории и может использоваться, как скрытый, но Вы должны показать, что recaptcha конфиденциальность и т.д. связывается (как рекомендуется)
Тег script в Голове
<script src="https://www.google.com/recaptcha/api.js?onload=ReCaptchaCallbackV3&render='SITE KEY' async defer></script>
Примечание: «async отсрочивают», удостоверяются не блокирование, которое является нашим конкретным требованием
Кодекс JS:
<script>
ReCaptchaCallbackV3 = function() {
grecaptcha.ready(function() {
grecaptcha.execute("SITE KEY").then(function(token) {
$.ajax({
type: "POST",
url: `https://api.${window.appInfo.siteDomain}/v1/recaptcha/score`,
data: {
"token" : token,
},
success: function(data) {
if(data.response.success) {
window.recaptchaScore = data.response.score;
console.log('user score ' + data.response.score)
}
},
error: function() {
console.log('error while getting google recaptcha score!')
}
});
});
});
};
</script>
HTML/код CSS:
there is no html code since our requirement is just to get score and don't want to show recaptcha badge.
Бэкенд - Кодекс Laravel:
Route:
Route::post('/recaptcha/score', 'Api\\ReCaptcha\\RecaptchaScore@index');
Class:
class RecaptchaScore extends Controller
{
public function index(Request $request)
{
$score = null;
$response = (new Client())->request('post', 'https://www.google.com/recaptcha/api/siteverify', [
'form_params' => [
'response' => $request->get('token'),
'secret' => 'SECRET HERE',
],
]);
$score = json_decode($response->getBody()->getContents(), true);
if (!$score['success']) {
Log::warning('Google ReCaptcha Score', [
'class' => __CLASS__,
'message' => json_encode($score['error-codes']),
]);
}
return [
'response' => $score,
];
}
}
мы возвращаем счет и экономим в переменной, которая мы более поздний пользователь, когда представляют форму.
Ссылка: https://developers.google.com/recaptcha/docs/v3 https://developers.google.com/recaptcha /