php - 用于 reCaptcha 表单提交的 PHP Server 站点总是显示错误
问题描述
我的 reCaptcha v2 实现有一些问题。我正在使用 AJAX 请求来验证 reCaptcha。
form_submission.php:
<?php
$secret = "----mykey----";
$ip = $_SERVER['REMOTE_ADDR'];
$postvars = array("secret"=>$secret, "response"=>$recaptcha, "remoteip"=>$ip);
$url = "https://www.google.com/recaptcha/api/siteverify";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postvars);
$data = curl_exec($ch);
$captcha_success=json_decode($data, true);
curl_close($ch);
if ($captcha_success['success']==false) {
echo 'ERROR';
}
else {
echo 'SUCCESS';
}
?>
HTML:
button=document.getElementById("saveForm");
button.addEventListener('click', submitaction);
function submitaction(e) {
e.preventDefault();
$.ajax({
type: 'POST',
url: 'form_submission.php',
data: {captcha: grecaptcha.getResponse()},
success: function(response){
alert(response);
grecaptcha.reset();
}
}
);
}
它只是一直给我“错误”。有人能帮我吗?
解决方案
推荐阅读
- amazon-web-services - 如何在 ssh aws ec2 实例之后保持 gunicorn flask 应用程序运行
- asp.net-web-api - ApiController.RedirectToRoute 使用 HTTPS
- composer-php - 作曲家过时而没有安装
- javascript - 如何使用 web3js 创建公钥和私钥?
- javascript - 在 node_modules 中找不到第三方 VueJS 组件
- java - 用Java从存储过程中提取结果集
- c# - 用表格读取 docx 文件
- python - Python Gtk Glade 应用程序结构。最好的做法是什么?
- mongodb - 使用 if 条件的 Mongo Db 查询
- java - 如何将 int 分成子字符串/子整数?