Chrome表单自动完成功能上的隐形Recaptcha验证失败

时间:2018-10-16 17:51:18

标签: forms google-chrome recaptcha form-submit invisible-recaptcha

在使用Chrome的自动完成表格(运行〜69.0.3497.100)时,我遇到了V2隐形验证码问题。

当我使用自动完成功能填写表格时,recaptcha返回以下错误消息:  Array ( [success] => [error-codes] => Array ( [0] => missing-input-response ))

我对如何解决这个问题有些困惑。验证码可在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();
}

任何帮助或调试自动完成事件的提示将不胜感激!谢谢。

0 个答案:

没有答案