# 验证码

使用 mewebstudio/captcha 可以方便的生成网站图形验证码。

Preview

请参考官网文档进行安装,下面介绍如果生成支持前后台分离的验证码。

首先创建控制器CaptchaController内容如下

class CaptchaController extends Controller
{
    public function make()
    {
        return Captcha::create('default', true);
    }
}

然后在 api.php 中配置路由

Route::get('captcha', [CaptchaController::class, 'make']);

在 postman 中测试接口,可以得到以下数据

{
    "sensitive": false,
    "key": "$2y$10$819PNm1n6567hQRLoKpadOS6n.8u0F5YmnR6Nrw57KvmRL4z8gPDe",
    "img": "data:image/png;base64..."
}

前台需要把key与用户输入的验证码数据提交到后台,然后使用以下表单验证规则进行验证

$rules = ['captcha' => 'required|captcha_api:'. request('key') . ',math'];