Menu

3.6. 图片验证码

图片验证码的作用

为了保证短信验证码接口不会被攻击,我们使用 api.throttle 限制了接口访问频率,但是依旧不安全。我们限制了 IP,但是攻击者依然可以使用大量代理 IP 进行攻击。这个时候,就需要增加一些机器无法识别,或者说识别成本高的人为因素 —— 验证码。

回忆一下『知乎APP』完整的注册流程,我们可以在发送短信验证码之前,增加一步图片验证码。

1. 安装 gregwar/captcha

图片验证码接口的流程是:

  • 生成图片验证码
  • 生成随机的 key,将验证码文本存入缓存。
  • 返回随机的 key,以及验证码图片

Larabbs 项目中已经安装了 mews/captcha,对于网页应用来说,这个组件使用起来十分方便,但是它依赖 session,而且没法获取和设置验证码文本,不适用于 API 的用例。在 API 的开发中,我们将选择使用 gregwar/captcha 来完成图片验证码的功能。

$ composer require gregwar/captcha

本文章首发在 Laravel China 社区

为了保证课程的高品质,我们需要对课程进行收费。付费后 才能观看剩余内容。 购买

上一篇 下一篇
讨论数量: 11

Badboy
关于图片验证码的疑问??
0 个点赞 | 2 个回复 | 问答
liming
Homestead 优化设置?
0 个点赞 | 0 个回复 | 问答
Gebriel
分享下,实现图片验证返回网址?
0 个点赞 | 0 个回复 | 问答
heart_5653
ahkxhyl
$this->response 的 response 不识别问题
0 个点赞 | 3 个回复 | 分享
lixiang9194
如何实现存储验证码返回网址?
0 个点赞 | 4 个回复 | 问答
dptms
为什么验证码错误就要清除缓存呢?
0 个点赞 | 1 个回复 | 问答
Marke
手机收不到验证码?
0 个点赞 | 2 个回复 | 问答
刻意练习,每日精进。
11
点赞
3617
浏览
11
讨论
贡献者