客户端服务器REST API captcha实现

Client Server REST API captcha implementation

本文关键字:captcha 实现 API REST 服务器 客户端      更新时间:2023-09-26

我正在构建客户端-服务器REST应用程序。客户端是基于Angular的,而服务器是PHP的(这并不重要)。

我想知道的是,在这种情况下,是否有任何最佳实践,captcha实施的好例子?Captcha将用于用户注册等

我不局限于任何特定的库,唯一的要求是不能对客户端的第三方服务器(托管在第三方服务上的js库或req-api密钥等)进行任何调用。

感谢

当谷歌captcha批准一个用户时,它会为您提供一个令牌。

想象一下这个场景。用户即将保存并使用captcha,captcha做它的业务并给你一个令牌,这才是最重要的。

如果你想看一个";暂定的";对此的请求流。

  1. 用户应该在注册之前通过captcha,并检索它在前端提供的令牌
  2. 用户单击保存,您将在后台收到作为表单数据的captcha令牌。您通过API向Google验证令牌。如果谷歌验证令牌有效,您可以保存用户,或者在谷歌返回错误时拒绝
  3. 前端监听成功或错误以及什么样的错误。如果错误为captcha,则强制重试,获取新令牌
  4. 后端接收表单数据中的新令牌,并重复步骤2

您可以在google repatcha上查看。它的角度实现在这里

vcRecaptcha

谷歌的新版本reCaptcha相当流畅。它们有几个易于理解的示例和使用场景。

https://www.google.com/recaptcha/intro/index.html

编辑:为了解决如何在RESTful应用程序中实现这一特定问题,我制作了两个文件。一个是像index.php这样的面向公共的文件,另一个是保存私有信息的后端文件。

我可以把我以前写的操作方法复制/粘贴到这里,也可以把你链接到我两个月前写的文章。