3.6. 图片验证码

图片验证码的作用

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

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

1. 安装 gregwar/captcha

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

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

Larabbs 项目中已经安装了 mews/captcha,你可以尝试直接使用,但是本课程我们使用

本文章首发在 LearnKu.com 网站上。

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

上一篇 下一篇
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
讨论数量: 31

郎中航
分享下,实现图片验证返回网址?
3 个点赞 | 9 个回复 | 问答 | 课程版本 5.5
heart_5653
App ()->environment ('production') 这个是什么?
3 个点赞 | 2 个回复 | 问答 | 课程版本 5.5
xiaoku
为何我的图片显示不出来
2 个点赞 | 3 个回复 | 问答 | 课程版本 5.5
beatles
最后一步『发送手机验证码』接口, 需要先获取图片验证码
2 个点赞 | 1 个回复 | 问答 | 课程版本 5.5
monch
过期时间那里选择时间格式好,还是秒数好
1 个点赞 | 6 个回复 | 问答 | 课程版本 5.5
chaijiawei
mews/captcha 也适用于 API
1 个点赞 | 5 个回复 | 分享 | 课程版本 5.8
lixiang9194
如何实现存储验证码返回网址?
1 个点赞 | 4 个回复 | 问答 | 课程版本 5.5
caojianx
gregwar/captcha 的大小写问题 hash_equals ()
1 个点赞 | 2 个回复 | 问答 | 课程版本 6.x
关于图片验证码的疑问??
1 个点赞 | 2 个回复 | 问答 | 课程版本 5.5
gyp719
验证码大小写比对
1 个点赞 | 1 个回复 | 分享 | 课程版本 6.x
MArtian
使用 mews/captcha 实现 API 验证接口
1 个点赞 | 1 个回复 | 分享 | 课程版本 6.x
pee2bee
gregwar/captcha 自定义验证码的位数和内容
1 个点赞 | 0 个回复 | 分享 | 课程版本 6.x
PHPHub
返回 Base_64 图片被转义
0 个点赞 | 11 个回复 | 问答 | 课程版本 5.8
dptms
为什么验证码错误就要清除缓存呢?
0 个点赞 | 10 个回复 | 问答 | 课程版本 5.5
王鲸弋
前端请求图片验证码接口但是我收不到参数是为什么?
0 个点赞 | 5 个回复 | 问答 | 课程版本 5.5
ahkxhyl
$this->response 的 response 不识别问题
0 个点赞 | 3 个回复 | 分享 | 课程版本 5.5
Marke
手机收不到验证码?
0 个点赞 | 3 个回复 | 问答 | 课程版本 5.5
王鲸弋
图片验证码怎么改成 纯数字的?
0 个点赞 | 2 个回复 | 问答 | 课程版本 5.5
Mengwei
使用图形验证码是否安全?
0 个点赞 | 1 个回复 | 问答 | 课程版本 6.x
kirit0
str_random 未定义??
0 个点赞 | 1 个回复 | 分享 | 课程版本 6.x
飞翔宝宝
安装 gregwar/captchaba
0 个点赞 | 1 个回复 | 问答 | 课程版本 5.8
admin0000
获取图片验证码时不应该要求用户输入手机号
0 个点赞 | 1 个回复 | 分享 | 课程版本 5.8
Zhangzhuow
为什么会出现跨域错误?
0 个点赞 | 1 个回复 | 问答 | 课程版本 5.5
CarlGao
代码位置?
0 个点赞 | 1 个回复 | 问答 | 课程版本 5.5
道生一
图片验证码已失效
0 个点赞 | 0 个回复 | 问答 | 课程版本 6.x