gpt4 book ai didi

php - 使用 Google reCaptcha 总是显示 'incorrect-captcha-sol'

转载 作者:搜寻专家 更新时间:2023-10-31 20:38:02 27 4
gpt4 key购买 nike

我正在尝试在我的网站上使用 Google reCaptcha,在学习了几个教程之后,我在我的 HTML 页面上使用如下:

<section class="row" id="Contact">
<div class="col-full">
<form method="post" action="contact.php">
<input name="sender" placeholder="Name" size="30"><br><br>
<input name="senderEmail" placeholder="Email" size="30"><br><br>
<textarea rows="10" cols="30" name="message" placeholder="Message"></textarea><br><br>
<div class="g-recaptcha" data-sitekey="6LdFOQcTAAAAABKsku3bD6Mp3HuGYNDRN1tLlSkw"></div><br>
<input type="submit" name="submit">
</form>
</div>
</section>

<head>内有以下内容标签:

    <script src='https://www.google.com/recaptcha/api.js'></script>

表单加载以下 PHP 脚本,如 Google's tutorial 所示:

<?php

require_once('recaptchalib.php');

echo "<pre> _POST: =========\n";
print_r($_POST);
echo "\n=========\n</pre>";

$privatekey = "privatekey";
$resp = recaptcha_check_answer ($privatekey,
$_SERVER["REMOTE_ADDR"],
$_POST["recaptcha_challenge_field"],
$_POST["recaptcha_response_field"]);
if (!$resp->is_valid)
{
die ("The reCAPTCHA wasn't entered correctly. Go back and try it again." .
"(reCAPTCHA said: " . $resp->error . ")");
}

?>

问题是我总是收到错误 incorrect-captcha-sol并且不明白为什么。我从 PHP 脚本得到的输出是:

 _POST: =========
Array
(
[g-recaptcha-response] => 03AHJ_VusLbTZVbhMBH2-cyOdbM81IoG7ShDtTmyVa8e34PbghyKaRYnrb4bbeuPoJXFa-2sD5B-UIOWq_zClya-VOtq8iLHXBkAR0PrElQYiQjKTm2POkjci43-yEaenh1tu_M4vKsjJGswKFlVs6IdlWhdVaMdznLBeutgHjiHRBy7fzAi0It0x5IadwMxAqVpmG7F1gRvUcQmakij4ObTqPUK4lPdc84HkkKmY62uJ45d8DwKSeR2ifRg6wL9JFxpcZkjSp4oIlltin2uCMiBDU58QQQLLKPJuSKcmm-N5p7OEt7E6gc4UZyTLpKrJ-9mMUusvLpixwFHop0e5155vEZssxzu6Zizo-LyB1mX3XOrQ8LEceydssgLvl9gJBC4f9zDBKPQdLmjfxVKdPCXLtUZVNbMDYe7cNL7gsgwJC-hLbZYTh6UV1nUdKnFnkHAACjI7M28hpKWdiyIwcJ5UAzTMPfIllMw
)

=========

为什么我没有 recaptcha_challenge_fieldrecaptcha_response_field我的 POST 上的字段,我该如何解决?

最佳答案

我用于验证码的代码如下:

这在标题中:

<script src='https://www.google.com/recaptcha/api.js'></script>

这是你想要实际重新验证的地方:

<div class="g-recaptcha" data-sitekey="PUBLIC_KEY_HERE"></div>

您可以将此添加到 div 以更改主题:data-theme="theme"

这是 PHP 脚本:

if(isset($_POST['g-recaptcha-response']))
$captcha=$_POST['g-recaptcha-response'];
if(!$captcha){
//Captcha hasn't been checked
}
$response=json_decode(file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=SECRET_KEY_HERE&response=".$captcha."&remoteip=".$_SERVER['REMOTE_ADDR']), true);
if($response['success'] == false){
//Captcha incorrect
}
else {
//Success code here
}

关于php - 使用 Google reCaptcha 总是显示 'incorrect-captcha-sol',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30438430/

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