谷歌(Google): reCaptcha(3.0版本)做网站验证
前言:
前面有一篇使用了2.0版本来做网站验证码,但是发现如果只是做网站验证码可以,但是如果我想集成到移动端的话,那样式太丑了,找遍了官方文档(强烈建议去看看一下官方文档(需要翻墙),点击查看),也没有可以去自定义ui的地方,但是刚好最近官方发布了3.0版本,发现3.0版本更方便....
V3介绍:
recaptcha v3为每个请求返回一个没有用户摩擦的分数。评分是基于与您的站点的交互,并使您能够为您的站点采取适当的行动,
个人理解:
使用V3,recaptcha会返回给我们一个score(分数),大约0.5是阀值,低于这个阀值,就需要你自定义去指定验证方式,比如邮件链接确认,短信验证等等....,这样集成到移动端非常方便,也便于后端进行验证,来判定这个用户是否是有效用户(当然底层是如何实现判定,如果给出这个分数的,我也不知道,但是起码能防止一部分不怀好意的人)
使用前需注意:
1.reCaptcha官网网站为:https://developers.google.com/recaptcha/(需要翻墙)
2.在国内使用的话,需要将demo中所有的www.google.com替换成www.recaptcha.net不然无法使用reCAPTCHA
3.使用reCaptcha需要去注册google账号,并且去https://www.google.com/recaptcha/admin#list里面去创建秘钥对()稍等我会标注出来)
集成流程:
1.去申请秘钥对
2.查看秘钥
图中action的参数如何配置,参考下面这个列表:
参数 | 描述 |
---|---|
homepage | 在过滤时,在管理控制台上查看流量的内聚视图。 |
login | 分数低,需要二重身份验证或电子邮件验证,以防止凭据填充攻击。 |
social | 限制来自滥用用户的未应答的请求,并发送有风险的评论以进行审核。 |
e-commerce | 将您的实际销售置于机器人之前并识别风险交易。 |
3.直接创建页面,引入上图那一行代码,然后在把上图中<script>的拷贝下来,放入即可
4.把引入的那一行中的www.google.com替换成www.recaptcha.net这样国内就可以使用
大致流程:
1.页面加载完毕,会自动去访问app.js会进行回调,拿到token后,将token传递给后端,
2.后端拿到token,去调用recaptcha提供的校验接口,进行校验,调用成功,返回json数据,后端可以根据json数据拿到分数字段
3.根据分数做自定义验证,或者直接响应异常
想了想还是贴上代码吧,这个demo案例,可以使用localhost来访问:
1.前端
<!DOCTYPE html>
<html lang="en">
<head><title></title><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><script src="https://www.recaptcha.net/recaptcha/api.js?render=6LdBgIoUAAAAAJvGiPWe9wqfYFDi7ArZbZFoMNYX"></script><script>grecaptcha.ready(function() {grecaptcha.execute('6LdBgIoUAAAAAJvGiPWe9wqfYFDi7ArZbZFoMNYX', {action: 'login'}).then(function(token) {$.ajax({type: "POST",url:"/check",data: {"token":token},success: function(result) {alert(result);}});});});</script>
</head>
<body></body>
</html>
2.服务端
@RequestMapping("/check")@ResponseBodypublic String check(HttpServletRequest request) {String checkCode = request.getParameter("token");Map<String, Object> map = new HashMap<>();// 私钥map.put("secret", "6LdBgIoUAAAAAMyFObm3oUzGUot7VJwfMCtu15fr");map.put("response", checkCode);String json = MyHttpRequest.sendPost("https://www.recaptcha.net/recaptcha/api/siteverify", map, "UTF-8");return json;}
关于隐藏reCAPTCHA图标:点击查看这篇文章的末尾
谷歌(Google): reCaptcha(3.0版本)做网站验证相关推荐
- 谷歌(Google): reCaptcha(2.0版本)做网站验证码
百度百科: CMU设计了一个名叫reCAPTCHA的强大系统,让他们的电脑去向人类求助.具体做法是:将OCR软件无法识别的文字扫描图传给世界各大网站,用以替换原来的验证码图片:那些网站的用户在正确识别 ...
- 谷歌人机验证Google reCAPTCHA
reCAPTCHA是Google公司推出的一项验证服务,使用十分方便快捷,在国外许多网站上均有使用.它与许多其他的人机验证方式不同,它极少需要用户进行各种识图验证. 它的使用方式如下如所示,只需勾选复 ...
- 谷歌 recaptcha_在Spring Boot应用程序中使用Google reCaptcha
谷歌 recaptcha 介绍 Google的reCaptcha是一个库,用于防止漫游器将数据提交到您的公共表单或访问您的公共数据. 在本文中,我们将研究如何将reCaptcha与基于Spring B ...
- 浅谈如何使用Google reCAPTCHA进行人机验证
reCAPTCHA是Google公司推出的一项验证服务,使用十分方便快捷,在国外许多网站上均有使用.它与许多其他的人机验证方式不同,它极少需要用户进行各种识图验证. 它的使用方式如下如所示,只需勾选复 ...
- 使用Google reCAPTCHA进行人机验证
reCAPTCHA是Google公司推出的一项验证服务,使用十分方便快捷,在国外许多网站上均有使用.它与许多其他的人机验证方式不同,它极少需要用户进行各种识图验证. 它的使用方式如下如所示,只需勾选复 ...
- PHP版本Google广告admob服务端回调验证SSV
老文章,搬运到这里而已. 因业务需要接入Google的激励广告,涉及Google回调的服务器端验证 (SSV) server side verifiy. Python版本的基于第三方包ecdsa开箱即 ...
- 使用谷歌 Invisible reCAPTCHA 验证
文档地址 相应demo代码 <html><head><title>reCAPTCHA demo: Simple page</title><scri ...
- Google Chrome 1.0.154.46稳定版本发布 修复高危安全漏洞
Google刚刚发布了Chrome浏览器的最新稳定版本1.0.154.46,这是基于上一个稳定版1.0.154.43而升级的,虽然此次发布 的是稳定版本,但仍然是Beta版,现在Chrome这个版本号 ...
- Google Chrome 浏览器最新版本 71.0.3578.98(正式版本) (64 位)
Google Chrome 浏览器 最新版本 71.0.3578.98(正式版本) (64 位) 链接地址:https://share.weiyun.com/5uX1wRc 转载于:https://w ...
最新文章
- PyODPS 学习 实现查询数据 并更新数据
- RDLC SubReports Exporting to Excel Are Ignored
- 山西地区领取2020年下、2021年上半年证书
- python传递参数格式_Python语言学习基础篇之Python发送Post请求之根据参数位置传参、数据类型、不同方式传参...
- 打造钉钉事件分发平台之钉钉审批等事件处理
- 实体类为什么要用包装类而不用基本类型
- [react] React16新特性有哪些?
- asp.net 文件路径
- 打印连续数字 java_java多线程连续打印字母数字问题
- 卸载steam 桌面图标消失异常
- 软件工程教程:第7章软件维护 课后习题
- QT5串口读取宇电温控器温度
- android 特效字体下载,Android 一定有你想要的 文字特效 文字动画 艺术字
- 键盘输入,键盘输入结束符。
- 规则引擎drools系列(一)
- Mac M1配置Apache Tomcat
- 产品设计思维导图模板
- IE浏览器打印预览只打印第一页
- 李炎恢老师FLASH视频教程(59课时)[已完结]
- 绝了!小说建站项目完整开源