gpt4 book ai didi

javascript - Recaptcha 3 实现问题

转载 作者:行者123 更新时间:2023-11-30 19:18:05 26 4
gpt4 key购买 nike

每当我提交表单时,我为无效 token 设置的错误消息总是会触发,即使存在有效 token 也是如此。

<script src="https://www.google.com/recaptcha/api.js?render=SITE_KEY"></script>
<script>
grecaptcha.ready(function () {
grecaptcha.execute('SITE_KEY', { action: 'contact' }).then(function (token) {
var recaptchaResponse = document.getElementById('recaptchaResponse');
recaptchaResponse.value = token;
});
});

表单中的隐藏字段:

 <input type="hidden" name="recaptcha_response" id="recaptchaResponse">

我正在序列化整个表单:

var form = $('#supportForm').serialize();

如果我在 console.log 中看到 token ,那么就没问题了。

Ajax :

    $.ajax({
url: 'validate.php',
type: 'POST',
dataType: 'json',
data: form,
//

PHP

$recaptcha_url = 'https://www.google.com/recaptcha/api/siteverify';
$recaptcha_secret = 'SECRET_KEY';

$recaptcha = file_get_contents($recaptcha_url . '?secret=' . $recaptcha_secret . '&response=' . $_POST['recaptcha_response']);
$recaptcha = json_decode($recaptcha);


if(!$recaptcha->success) {
$message .= "'Robot verification passed, please try again";
}

我不知道它是否失败了,因为在我的谷歌帐户中我将域设置为 mydomain.com,但表单实际上位于 mydomain.com/subdirectory

我在设置验证码时无法添加子目录。

最佳答案

您可能需要在 PHP 设置中启用 allow_url_fopen 才能使 file_get_contents 正常工作。

关于javascript - Recaptcha 3 实现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57784010/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com