验证码扩展 Barrett-captcha
Forked from top-think/think-captcha,非Tp框架也可以直接运行,增加数字验证码功能(短信或邮件),你可以使用它轻松快速的完成验证码的业务实现。
使用
一、安装
composer require barrett/captcha
二、初始化配置引入本扩展库后,在实例化时可以传递配置参数,用于处理不同的场景。
$Captcha = new barrett\Captcha(['setZh'=>true,'length'=>4]);
> 配置表如下
二、创建验证码
本扩展目前支持:图形验证码、数字验证码(短信用)两种,使用方法如下:
> 创建图形验证码
$Captcha = new barrett\Captcha();
return $Captcha->createImg('user');
> 创建短信验证码$Captcha = new barrett\Captcha();
//createNum方法会返回被创建的验证码
$code = $Captcha->createNum('user');
//使用短信发送数字验证码
$Sms->sendToPhone($code['data]);
> 验证码效验$Captcha = new barrett\Captcha();
return $Captcha->check($_POST['code'],'user');
如输出结果异常请检查页面头部信息是否正常!如:Content-type:image/png 是否设置三、场景标识
用例:客户更改已绑定的手机号,需要在同一个页面生成两个验证码(原手机验证码、新手机验证码)。
1.原手机创建验证码加入唯一场景标识:
$old = $Captcha->createNum('old');
2.新手机创建验证码同样加入唯一场景标识:$new = $Captcha->createNum('new');
3.当用户提交数据时则根据唯一场景标识来检测对应场景的验证码是否正确,而不会出现相同页面多次调用后不能效验的问题。最新版本:
GitHub:https://github.com/Barrett-M82A1/captcha
OsChina:https://www.oschina.net/p/barrett-captcha
联系方式
Blog:http://blog.yoyoyo.me
Email:[email protected]
如使用存在问题,欢迎issue反馈,后期可能会增加极验sdk的集成