如何解决未收到来自服务器验证的 JSON 对象 Google reCapthca V3
我正在尝试验证用户对来自我的应用程序后端的 reCAPTCHA 质询的响应。 如果我已将下面的代码插入到联系表单的右侧部分以验证用户对 reCaptcha 质询的响应,请告诉我。
这是联系表单代码
```
<?PHP
if(empty($_POST['name']) ||
empty($_POST['email']) ||
empty($_POST['phone']) ||
empty($_POST['message']) ||
!filter_var($_POST['email'],FILTER_VALIDATE_EMAIL))
{
echo "No arguments Provided!";
return false;
}
$name = strip_tags(htmlspecialchars($_POST['name']));
$email_address = strip_tags(htmlspecialchars($_POST['email']));
$phone = strip_tags(htmlspecialchars($_POST['phone']));
$message = strip_tags(htmlspecialchars($_POST['message']));
$to = 'yourname@yourdomain.com';
$email_subject = "Website Contact Form: $name";
$email_body = "You have received a new message from your website contact form.\n\n"."Here are the details:\n\nName: $name\n\nEmail: $email_address\n\nPhone: $phone\n\nMessage: \n$message";
$headers = "From: noreply@yourdomain.com\n";
$headers .= "Reply-To: $email_address";
mail($to,$email_subject,$email_body,$headers);
这是用于验证用户响应的服务器端验证代码,我正在使用 (Google V3 reCaptcha)
```
foreach ($_POST a $key => $value) {
echo 'key: '.$key.' value: '.$value.'<br />';
}
if($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['recaptcha_response'])) {
$recaptcha_url = 'https://www.google.com/recaptcha/api/siteverify';
$recaptcha_secret = 'SECRET_KEY';
$recaptcha_response = $_POST['recaptcha_response'];
$recaptcha = file_get_contents($recaptcha_url.'?secret='.$recaptcha_secret.'&=response='.$recaptcha_response);
$recaptcha = json_decode($recaptcha);
foreach ($recaptcha as $key => $value) {
echo 'object: '.$key.' value: '.$value.'<br />';
}
if($recaptcha->score >= 0.5) { https://developers.google.com/recaptcha/docs/v3
echo 'verification succesful';
} else {
echo 'verification Failed';
exit;
}
}
return true;
?>
```
我是否将代码放在联系表单的右侧部分?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。