Lumen5.7实现图片验证码功能

文章来源:https://www.cnblogs.com/brady-wang/p/12034095.html 侵权联系马上删除

1.安装 youngyezi/captcha 成功的话如图

composer require youngyezi/captcha

image-20240113150956080

  1. 在bootstrap/app.php中进行注册
// 验证码
$app->register(Youngyezi\Captcha\CaptchaServiceProvider::class);

// 添加别名
$app->alias('captcha', 'Youngyezi\Captcha\CaptchaServiceProvider');

3.复制 vendor\Youngyezi\Captcha\config\captcha.php 文件至 项目 config 文件

image-20240113151111365

4.在控制器中新增一个控制器来生成验证码

    public function create(Request $request)
    {
        $parems = $request->all();
        $type = isset($parems['type']) ? $parems['type'] : 'default';	// 这里是让前端可以自由选择不同样式的验证码,样式去vendor\Youngyezi\Captcha\config\captcha.php设置

        $data = app('captcha')->create($type, true);
        setcookie('captcha', $data['key']);

        return response()->json([
            'code' => 200,
            'msg' => '操作成功',
            'data' => $data['img'],
        ]);
    }

image-20240113151344715

5.前端发送请求判断验证码

1. 封装一个办法用来判断验证码
    /**
     * @params key,captcha
     * 两个参数key和验证码
     */
private function captcha_check($key, $captcha)
{
    return app('captcha')->check(strtolower($captcha), $key);
}

2.在登录中判断
$captcha = $post_data['captcha'];
$key = $request->cookie('captcha');

if (!$this->captcha_check($key, $captcha)) {
    return response()->json(['code' => 500, 'msg' => '验证码错误']);
}
  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值