Barrett-captcha验证码扩展库
使用
一、安装
composer require barrett/captcha二、初始化配置引入本扩展库后,在实例化时可以传递配置参数,用于处理不同的场景。$Captcha=newbarrett\Captcha(['setZh'=>true,'length'=>4]);
>配置表如下
参数名参数类型默认值说明keystringBarrett验证码加密keydestroyBooleanBoolean验证成功后是否销毁expireinteger1800验证码过期时间(s)lengthinteger5验证码长度setZhBooleanfalse使用中文验证码widthinteger180图片验证码默认宽度heightinteger50图片验证码默认高度fontSizeinteger20验证码字体大小(px)fontTtfstring 验证码字体,不设置随机获取useImgBgBooleanfalse验证码字体,不设置随机获取useCurveBooleantrue是否画混淆曲线useNoiseBooleantrue是否添加杂点bgarray[243,251,254]背景颜色二、创建验证码本扩展目前支持:图形验证码、数字验证码(短信用)两种,使用方法如下:>创建图形验证码
$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,'user');如输出结果异常请检查页面头部信息是否正常!如:Content-type:image/png是否设置
三、场景标识用例:客户更改已绑定的手机号,需要在同一个页面生成两个验证码(原手机验证码、新手机验证码)。1.原手机创建验证码加入唯一场景标识:
$old = $Captcha->createNum('old');2.新手机创建验证码同样加入唯一场景标识:
$new = $Captcha->createNum('new');3.当用户提交数据时则根据唯一场景标识来检测对应场景的验证码是否正确,而不会出现相同页面多次调用后不能效验的问题。
评论