Hyperf 完整项目-4-图片验证码

引包

composer require easyswoole/verifycode=3.x

使用

<?php

declare(strict_types=1);
/**
 * This file is part of Hyperf.
 *
 * @link     https://www.hyperf.io
 * @document https://doc.hyperf.io
 * @contact  group@hyperf.io
 * @license  https://github.com/hyperf-cloud/hyperf/blob/master/LICENSE
 */

namespace App\Controller;

class IndexController extends AbstractController
{
    public function verifyCode()
    {
        $phone = $this->request->input('phone');
        $redis = $this->container->get(\Hyperf\Redis\Redis::class);

        $config = new \EasySwoole\VerifyCode\Conf();
        $code = new \EasySwoole\VerifyCode\VerifyCode($config);

        //重写验证码
        // $img_code = mt_rand(1000,9999);
        // $result = $code->DrawCode($img_code);

        //系统验证码
        $result = $code->DrawCode();
        $img_code = $result->getImageCode();

        //写入缓存 用于其他方法验证 并且设置过期时间
        $redis->set('code'.$phone,$img_code,180);

        return $result->getImageByte();

    }
}

小结

为了防止刷验证码可以加限流器 服务限流

本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 2

cookie方式就不好搞了~~

2年前 评论

推荐使用:getImageBase64

2年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!