Невидимая Recaptcha не проходит проверку на автозаполнении Chrome формы - PullRequest
0 голосов
/ 16 октября 2018

У меня возникают некоторые проблемы с невидимой повторяющейся строкой V2 при использовании автозаполненных форм Chrome (выполняется ~ 69.0.3497.100).

Когда я использую автозаполнение для заполнения формы, повторная заявка возвращает это сообщение об ошибке:Array ( [success] => [error-codes] => Array ( [0] => missing-input-response ))

Я немного не понимаю, как решить эту проблему.Recaptcha работает на Firefox / Edge / IE11 и с функциями автозаполнения браузера.Я мог бы зашифровать входы, чтобы они не могли быть автоматически заполнены, но я не хочу потерять этот UX, если это возможно.

Мой PHP для отправки:

<?php
if(isset($_POST['g-recaptcha-response'])) {
    $secretKey = 'secret';
    $response = $_POST['g-recaptcha-response'];     
    $remoteIp = $_SERVER['REMOTE_ADDR'];

    $reCaptchaValidationUrl = file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=$secretKey&response=$response&remoteip=$remoteIp");
    $result = json_decode($reCaptchaValidationUrl, TRUE);

    if($result['success'] == 1) {
        echo 'Form completed successfully.';
    } else {
        print_r($result);
    }
  }
?>

И javascript:

form.addEventListener("submit", function(event){
    if(!grecaptcha.getResponse() ){
        console.log("catpcha not complete");
        event.preventDefault();
        grecaptcha.execute();
    } else {
        //recaptcha is valid
    }
}
});
function onSubmit(token){
    console.log("token received");
    form.submit();
}

Любая помощь или советы по отладке события автозаполнения будет принята с благодарностью!Спасибо.

...