在SpringBoot App中使用GoogleReCaptcha3过滤非法的请求

现在的应用中对于登录,注册,短信验证码。。。这些场景来说,验证码真的是必不可少。随着技术的发展,也使得验证码从当初的图形验证码,发展到今天的滑块,倒立文字点击,数学计算,手势滑动,拼图,刮图。。。等等各种花样,总之一个目的,阻止机器人的访问

验证码这玩意儿,确实给用户带来了很不好的体验,很多应用的验证码确实玄乎的很让人让人抓狂。

ReCaptcha

这是谷歌的一个验证码程序,它免费,强大,很多世界级别的应用都在使用它(靠谱)。

它现在有2个比较流行的版本!!

ReCaptcha 2,它长这样

这玩意儿,有时候挺让人烦的,一看到这种验证码,愁得慌。

ReCaptcha 3

没法展示给你看… 是的,没图,没摁钮。这是最高级的一个版本,不骚扰用户。而是偷偷的读取一些客户端的环境数据(具体是啥我也不知道),提交给服务器,最后服务器给出一个数字评分。0 - 1。0 肯定是机器人,1肯定不是。应用需要通过这个评分来决定当前请求是否合法。

这也是这篇文章,要接入的版本,下面,从注册开始,演示一个接入ReCaptcha 3的案例。

注册

不要问为什么打不开下面的这些地址,我也不知道。

注册地址 https://www.google.com/recaptcha/admin/create

很简单,按照自己的需求填写名字,应用的访问域名。即可。

注册成功

有2个密钥,需要记住。第一个叫做前端密钥,会暴露在客户端。第二个叫做后端密钥,用于和远程服务器通信,不能暴露给客户端。

管理控制台

https://www.google.com/recaptcha/admin

控制台可以查看一些验证信息,例如请求数量之类的,很简单,自己看就懂。

文档

https://developers.google.com/recaptcha/intro

更多的细节,可以看看官方文档

创建一个SpringBoot应用

可以从 http://start.springboot.io/ 创建

创建过程就省略了,不需要任何第三方的依赖,基本的SpringBoot依赖就行。

把key配置在yml中

recaptcha:
  client-key: "6LdvzboZAAAAALrLVyjabnd5xfb06izncgK0JXCt"
  server-key: "6LdvzboZAAAAAE1mLwijdq9noxVUbWRBmqm-4Ava"

配置在yml中,程序可以灵活读取

Web客户端集成

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>ReCaptcha V3</title>
		<!-- render参数值就是前端密钥 -->
		<script src="https://www.recaptcha.net/recaptcha/api.js?render=6LdvzboZAAAAALrLVyjabnd5xfb06izncgK0JXCt"></script>
	</head>
	<body>
		<input name="name" placeholder="输入名字"  id="name"/>
		<button id="button">提交</button>
	</body>
	<script type="text/javascript">
		// 前端密钥
		const CLIENT_KEY = "6LdvzboZAAAAALrLVyjabnd5xfb06izncgK0JXCt";
		
		// grecaptcha.ready => 验证码初始化成功后后回调
		grecaptcha.ready((
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值