Как определить порог (score) в google recaptcha v3?
Может у кого был опыт в этом. Зарегестрировал recaptcha v3, прописал домен, получил токен и т.д с этим все ок. В ответе приходит всё как пологается. Суть - нужно определить порог это в ответе $responseArray['score'] = может быть от 0.0 до 0.9 как описано в документации, что это с большей вероятностью пишет человек. У меня проверяется этот порог все ок. Я бы хотел узнать в самой панели google recaptcha есть ли возможность установить этот порог? Если нет, то как мне в случае если больше 0.9 к примеру 1.0 или 3.0 отправить в google для статистики, что была попытка залогинться роботом или спам и т.д. Вопрос скорее для тех, кто хорошо знает этот инструмент.
Фрагмент кода
class LoginController extends AbstractController
{ private const array SCORES = [ 0.0, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.8, 0.9, ];
#[Route(path: '/login', name: 'app_login', methods: ['GET'])]
public function webLogin(): Response
{
return $this->render('login/index.html.twig', [
'controller_name' => 'LoginController'
]);
}
#[Route(path: '/check', name: 'login_check', methods: ['POST'])]
public function check(Request $request): Response
{
$email = $request->request->get('email');
$password = $request->request->get('password');
$token = $request->request->get('token');
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,"https://www.google.com/recaptcha/api/siteverify");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query(array('secret' => 'xxxx', 'response' => $token)));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
$responseArray = json_decode($response, true);
if (in_array($responseArray['score'], self::SCORES)) {
return new JsonResponse(
[
'response' => $responseArray
]
);
}else{
return new JsonResponse(
[
'response' => 'You are robot!'
]
);
}
}
}