客户端服务器 REST API 验证码实现
Client Server REST API captcha implementation
我正在构建客户端服务器 REST 应用程序。
客户端基于 Angular 而服务器基于 PHP(无论如何这并不重要)。
我想知道在这种情况下是否有任何最佳实践、验证码实施的好例子?验证码将用于用户注册等
我不限于任何特定的库,唯一的要求是不能在客户端调用第 3 方服务器(第 3 方服务器上托管的 js 库或请求 api 密钥等)。
谢谢
Google 的新式 reCaptcha 非常漂亮。他们有几个简单易懂的示例和使用场景。
https://www.google.com/recaptcha/intro/index.html
编辑:为了解决您关于如何在 RESTful 应用程序中实现它的具体问题,我会制作两个文件。一个是面向 public 的文件,如 index.php,另一个是包含私人信息的后端文件。
我可以 copy/paste 我以前写的方法在这里,或者我可以 link 你到 the article I wrote 2 months ago。
你可以去google-recaptcha看看。它的 angular 实现在这里
当 google 验证码批准一个用户时,它会为您提供一个令牌。
所以想象一下这个场景。一个用户即将保存,并使用验证码,验证码完成它的业务并给你一个令牌,这很重要。
如果您想查看对此的“暂定”请求流。
- 用户在注册前应通过验证码,并在前端检索其提供的令牌。
- 用户点击保存,您在后端收到验证码令牌作为表单数据。您通过 API 使用 Google 验证令牌。如果 Google 验证令牌有效,您可以保存用户或拒绝 Google returns 错误。
- 前端侦听成功或错误以及错误类型。如果错误是验证码,强制重试,获取新令牌。
- 后端在表单数据中接收到新令牌并重复步骤 2。
我正在构建客户端服务器 REST 应用程序。 客户端基于 Angular 而服务器基于 PHP(无论如何这并不重要)。
我想知道在这种情况下是否有任何最佳实践、验证码实施的好例子?验证码将用于用户注册等
我不限于任何特定的库,唯一的要求是不能在客户端调用第 3 方服务器(第 3 方服务器上托管的 js 库或请求 api 密钥等)。
谢谢
Google 的新式 reCaptcha 非常漂亮。他们有几个简单易懂的示例和使用场景。
https://www.google.com/recaptcha/intro/index.html
编辑:为了解决您关于如何在 RESTful 应用程序中实现它的具体问题,我会制作两个文件。一个是面向 public 的文件,如 index.php,另一个是包含私人信息的后端文件。
我可以 copy/paste 我以前写的方法在这里,或者我可以 link 你到 the article I wrote 2 months ago。
你可以去google-recaptcha看看。它的 angular 实现在这里
当 google 验证码批准一个用户时,它会为您提供一个令牌。
所以想象一下这个场景。一个用户即将保存,并使用验证码,验证码完成它的业务并给你一个令牌,这很重要。
如果您想查看对此的“暂定”请求流。
- 用户在注册前应通过验证码,并在前端检索其提供的令牌。
- 用户点击保存,您在后端收到验证码令牌作为表单数据。您通过 API 使用 Google 验证令牌。如果 Google 验证令牌有效,您可以保存用户或拒绝 Google returns 错误。
- 前端侦听成功或错误以及错误类型。如果错误是验证码,强制重试,获取新令牌。
- 后端在表单数据中接收到新令牌并重复步骤 2。