问题描述
我需要实现一个静默(不可见)的 reCaptcha 以防止机器人攻击等。因此,用户不会像在标准 reCaptcha 中那样输入数据。相反,一个不可见的 reCaptcha 将在后端集成到我的 Spring Boot 应用程序中。
那么,如何将这样的机制集成到项目(Spring Boot 应用程序)中?提前致谢。
解决方法
首先,如果您想要每个 IP 等的节流机制,这不是验证码, 这就是您要找的:
spring-security-block-brute-force
根据定义,recaptcha 是一种阻止机器人滥用网站前端影响后端的方法,
recaptcha definition by google
为此,我会推荐 google recaptcha v3,它是完全静音的(除了网站上的小徽标),没有选择汽车等的图像......它的工作方式是从收集行为数据页面上的用户(非常适合 React 等单页应用),
在后端预先存储您的网站私钥(发布和私钥由谷歌按域名提供)
在用户发送登录/注册或任何其他请求后,您可以发送用户验证码令牌,
然后您可以将令牌提供给 google 并获得所述用户的分数(在 0-1 之间,越高越好)您还可以获得验证码操作以确保操作与调用的 api 相关,这就是全部spring 不在前端,从那里您可以决定在访问数据库以获取用户数据之前停止注册/登录过程并因此快速停止机器人尝试...