谷歌(Google) reCaptchaV3做网站人机验证
需要特别注意的是,必须使用公网ip,本地ip无法进行验证!!!
1.reCaptcha官网网站为:https://developers.google.com/recaptcha/(需要FQ)
2.在国内使用的话,需要将demo中所有的www.google.com替换成www.recaptcha.net不然无法使用reCAPTCHA
3.使用reCaptcha需要去注册google账号,并且去https://www.google.com/recaptcha/admin#list里面去创建秘钥对()稍等我会标注出来)
前端页面代码
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<title>网页标题</title>
<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
<script src='https://www.recaptcha.net/recaptcha/api.js?render=网站秘钥第一个sitekey'></script>
</head>
<body>
人机验证得分为:<span id="span"></span>
</body>
<script>
grecaptcha.ready(function() {
grecaptcha.execute('网站秘钥第一个sitekey').then(function(token) {
console.log(token);
$.ajax({
url: 'https://自己的公网地址/yanzheng.php',
type: 'POST',
data: {"token":token},
success: function(result) {
var data=JSON.parse(result);
if(data.score>0.5){
console.log('你是人');
window.location.href="www.baidu.com" ;
}else{
console.log('你是机器人');
}
document.getElementById('span').innerText=data.score;
console.log(data.score);
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
errorMsg = "获取身份错误<br/>错误信息:" + textStatus + "错误码:" + XMLHttpRequest.status + '<br/>请刷新重试';
console.log(errorMsg, '网络错误');
}
});
});
});
</script>
</html>
后端代码为PHP
<?php
$token=$_POST['token'];
$secret='通信秘钥 第二个';
$value = http_post("https://www.recaptcha.net/recaptcha/api/siteverify",'secret='.$secret.'&response='.$token);//参数建议用与符号拼接
echo $value;
function http_post($url,$postbody){
$curl = curl_init();
curl_setopt($curl,CURLOPT_URL,$url);
// CURLOPT_RETURNTRANSFER 设置是否有返回值
curl_setopt($curl,CURLOPT_RETURNTRANSFER,true);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);//这个是重点,如果是https请求一定要加这句话。
curl_setopt($curl,CURLOPT_POST,true);
curl_setopt($curl,CURLOPT_POSTFIELDS,$postbody);
//执行完以后的返回值
$response = curl_exec($curl);
//释放curl
curl_close($curl);
return $response;
}
?>
参考博客:https://blog.csdn.net/dulinanaaa/article/details/88126607
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)