Ответы пользователя по тегу reCAPTCHA
  • Как проверить работу reCAPTCHA v3 и убедиться в том что она действует?

    @minalexpro
    Рекапча третьей версии работает с использованием нейронных сетей, анализирует поведение и прочие признаки клиента на сайте и выдает результат обработки запроса в виде ответа
    'success' => true,
       'challenge_ts' => '2021-05-12T10:56:23Z',
       'hostname' => 'site.ru',
       'score' => 0.90000000000000002,
       'action' => 'submit',


    Где score - это оценка пользователя, отправившего запрос.
    Такой ответ можно получить, если вставить на back-end вот такой код (если скрипты на PHP)

    /*СОЗДАЕМ ФУНКЦИЮ КОТОРАЯ ДЕЛАЕТ ЗАПРОС НА GOOGLE СЕРВИС*/
      function getCaptcha($SecretKey) {
          $Response = file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=".SECRET_KEY."&response={$SecretKey}");
          $Return = json_decode($Response);
          return $Return;
      }
      
      /*ПРОИЗВОДИМ ЗАПРОС НА GOOGLE СЕРВИС И ЗАПИСЫВАЕМ ОТВЕТ*/
      $Return = getCaptcha($_POST['g-recaptcha-response']);
    
      //var_dump($_POST['g-recaptcha-response']);
    
      /*ВЫВОДИМ НА ЭКРАН ПОЛУЧЕННЫЙ ОТВЕТ*/
      //var_dump($Return);
      
      /*ЕСЛИ ЗАПРОС УДАЧНО ОТПРАВЛЕН И ЗНАЧЕНИЕ score БОЛЬШЕ 0,5 ВЫПОЛНЯЕМ КОД*/
      if($Return->success == true && $Return->score > 0.5){
    
    тут код по дальнейшим действиям с формой
    
    }


    Т.е. после того, как вы вставили JS код, при отправке с формой передаются данные от reCAPTCHA ($_POST['g-recaptcha-response'])
    Этот параметр нужно передать как описано выше в коде PHP и получить ответ, на основе этого проводить дальнейшую обработку формы в обычном режиме или нет.
    Ответ написан
    3 комментария