leedom / leedom-captcha

支持 TP6 usapi 验证码,基于 topthink\framework

v1.0 2021-07-23 04:49 UTC

This package is auto-updated.

Last update: 2024-09-23 11:25:51 UTC


README

为支持 TP6 框架使用 api 模式验证码。
它可以返回自定义验证码数据;

注意: 如果您已经安装了 topthink/think-captcha ,您应该先将其删除!

删除 topthink/think-captcha:

composer remove topthink/think-captcha

eg: return a json response
    {
        "base64": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAAA+BAMAAACcvUmpAAAAG1BMVEXz+/6MAii/fpOYIUKlQF3Mna2yX3jZvMjm2+PG163yAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACDElEQVRYhe2WwW/TMBSHrWadfeTXtFmPiQaCIwYhONY9TDu2GivXWQi048KQ4BjYJP5tnqc2iR23SQjbyd8peXH82fHzcxgLBAKBQCDwaIjLJ5CsJ08gyR5bUhjJbFgfm7fLmwOPuZoPl9wDmBaN8I+dWMjpcInCmcIHJyg0cL29zpGS5GSIQ2DOhIqdaE7TM30bRjgZKuFYMBZh5ZjxYoNke6fi4j/MhAab2mZJ3+92F7zDFdPzIRKmaRZc2RI2utnqH5SYDZUcI175n+hdRq1R9JOcYulELhD790m5y4+x0M96OI4oa941LP6aocuwnPSSZPgqaR1L+HRlgqmnqUCZUTlkH4maUerUBs6NkcPXxRFe7y7HqK67SGgBf6E+XPO29Cwrl6iWSveSZIlZx1o6aapbZbLW+CbxvrqLzJbtTESf39p6d0g+XTS6GH8GkqK6Fz0kgmpqQpLaTIQyZcrOYfGcQm+Kekh1l+QpjXzBvtff51Rwz61WG0nF/5X9przqLKHtJVTiRv/Y81gD8Uu3TT3t2yQzk5npwTZUgb8UbpBjT+nxkE/MSddShrJGSTAja3j3Epm2uuUkpVQ4d0K/H47gjoxN7qu245q2YWpH8sb5fIgMy4+enecwcqt/ZOdzC2NZnd0HuPf9v3RnJD3L2uR2T/XviPjZqVnWY6X/GXHd3iYQCAQCe/kLeZlAHy8EvPIAAAAASUVORK5CYII=",
        "key": "$2y$10$3IL1VgxvnVrvQNcb12zNT.WFfmicBfyMQFE/S/1poM48oKzh03yr2",
        "code": "ss2y",
        "md5": "398c76a34d6adb0e6cdda01259ddb88f"
    }

    //base64 => the pic url
    //key => the ID key
    //md5 => the key's crypto
    //code => pic's resault (not safe )

关于 code

code 的响应是验证码的内容,
因此返回 code 不安全。
您可以将 .env 文件更改为返回 0,例如

[APP]
APP_STATUS = dev

安装

composer require leedom/leedom-captcha

在 api 模型中

use leedom\captcha\facade\CaptchaApi;

$data = CaptchaApi::create();

{
        "base64": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAAA+BAMAAACcvUmpAAAAG1BMVEXz+/6MAii/fpOYIUKlQF3Mna2yX3jZvMjm2+PG163yAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACDElEQVRYhe2WwW/TMBSHrWadfeTXtFmPiQaCIwYhONY9TDu2GivXWQi048KQ4BjYJP5tnqc2iR23SQjbyd8peXH82fHzcxgLBAKBQCDwaIjLJ5CsJ08gyR5bUhjJbFgfm7fLmwOPuZoPl9wDmBaN8I+dWMjpcInCmcIHJyg0cL29zpGS5GSIQ2DOhIqdaE7TM30bRjgZKuFYMBZh5ZjxYoNke6fi4j/MhAab2mZJ3+92F7zDFdPzIRKmaRZc2RI2utnqH5SYDZUcI175n+hdRq1R9JOcYulELhD790m5y4+x0M96OI4oa941LP6aocuwnPSSZPgqaR1L+HRlgqmnqUCZUTlkH4maUerUBs6NkcPXxRFe7y7HqK67SGgBf6E+XPO29Cwrl6iWSveSZIlZx1o6aapbZbLW+CbxvrqLzJbtTESf39p6d0g+XTS6GH8GkqK6Fz0kgmpqQpLaTIQyZcrOYfGcQm+Kekh1l+QpjXzBvtff51Rwz61WG0nF/5X9przqLKHtJVTiRv/Y81gD8Uu3TT3t2yQzk5npwTZUgb8UbpBjT+nxkE/MSddShrJGSTAja3j3Epm2uuUkpVQ4d0K/H47gjoxN7qu245q2YWpH8sb5fIgMy4+enecwcqt/ZOdzC2NZnd0HuPf9v3RnJD3L2uR2T/XviPjZqVnWY6X/GXHd3iYQCAQCe/kLeZlAHy8EvPIAAAAASUVORK5CYII=",
        "key": "$2y$10$3IL1VgxvnVrvQNcb12zNT.WFfmicBfyMQFE/S/1poM48oKzh03yr2",
        "code": "ss2y",
        "md5": "398c76a34d6adb0e6cdda01259ddb88f"
    }

检查验证码

CaptchaApi::check($code,$key);
code => 用户输入; key => 响应的 key
注意:使用缓存,取决于您选择的驱动程序

最后

also support original topthink/think-captcha