Yii2 图片旋转验证码 [ 2.0 版本 ]
https://github.com/easydowork/yii2-rotate-captcha
Yii2 图片旋转验证码
- 简介
基于https://gitee.com/isszz/rotate-captcha 修改的图片旋转验证码. - 流程说明
- 表单提交时js添加
beforeSubmit
事件,判断是有验证码校验值 - 弹窗旋转图片验证码,进行检验,若不成功重新旋转图片.
- 校验成功后台返回value,赋值给表单的captcha隐藏输入框,js自动提交表单.
- 表单提交时js添加
使用说明
//与yii\captcha\Captcha类似,配置不同 //例:SiteController中behaviors与actions方法配置 public function behaviors() { return [ 'access' => [ 'class' => AccessControl::className(), 'rules' => [ [ 'actions' => ['captcha'],//允许访问 'allow' => true, ], ], ], ]; } public function actions() { return [ 'captcha' => [ 'class' => 'easydowork\rotateCaptcha\CaptchaAction', 'captchaOption' => [ 'imagePath' => '',//验证码图片库目录 'cacheImagePath' => '',//旋转后验证码缓存目录 'cacheHandel' => '',//缓存类继承yii\caching\Cache 'cacheExpire' => 60,//验证码token过期时间 'salt' => '',//加密字符串参数 默认为当前文件地址 'size' => 350,//生成图片大小 px 'earea' => 10,//验证图片时允许旋转角度的误差值 'imageHandle'=>'gd',//推荐使用gd库,个人测试imagick时在windows和linux上生成的图片不一致,有能力的欢迎pr. 'imageHandleConfig' => [ //生成验证码的参数 'quality' => 80,//图片质量 'bgcolor' => '#fff', // 底色 ], 'callbackFunc' => [ //一些回调函数 参数可看代码 非必填 'cacheKey' => function(){},//token缓存key 'cacheValue' => function(){},//token缓存value 'check' => function(){},//验证token 'generateValue' => function(){},//图片验证码通过后返回的value 'validateValue' => function(){},//校验value ], ] ], ]; } //例:LoginForm中rules方法配置 public function rules() { return [ ['captcha', 'easydowork\rotateCaptcha\CaptchaValidator','captchaAction'=>'site/captcha','message'=>'验证码不正确!'], ]; } //view 视图中使用 <?= $form->field($model,'captcha')->label(false)->widget(\easydowork\rotateCaptcha\CaptchaWidget::class,[ 'id'=>'captcha', 'name'=>'captcha', 'captchaOptions' => [ 'theme' => '#07f', // 验证码主色调 'title' => '安全验证', 'desc' => '拖动滑块,使图片角度为正', 'width' => 305, // 验证界面的宽度 'successClose' => 1500, // 验证成功后页面关闭时间 'timerProgressBar' => true, // 验证成功后关闭时是否显示进度条 'timerProgressBarColor' => '#07f', // 进度条颜色 'url' => [ //type参数辨别请求类型 'create' => Url::to(['captcha', 'type' => 'create']),// 获取验证码信息 'check' => Url::to(['captcha', 'type' => 'check']),// 验证 ], ], ]);?>
小叮当的肚兜
注册时间:2016-10-31
最后登录:15小时前
在线时长:97小时45分
最后登录:15小时前
在线时长:97小时45分
- 粉丝13
- 金钱43970
- 威望270
- 积分47640
共 2 条评论
请问一下这个如果没有用LoginForm模型的话,该如何使用呢?
这有个免费的接口能用个几百次,试了几个都成功了,http://halo-dev.org/archives/ra