Yii Framework 开发教程(21) UI 组件 自定义Captcha示例
来源:互联网 发布:windows ad域的作用 编辑:程序博客网 时间:2024/06/10 03:13
Yii内置的Captcha基本上可以满足大部分需求,如果你对验证码有特殊要求,你可以自定义Captcha,这主要是通过扩展CCaptchaAction来实现的,本例自定义一个验证码功能,随机产生10以内的加减法,用户需要计算出正确的结果才能通过验证。
本例基于上例Yii Framework 开发教程(20) UI 组件 Captcha示例,做如下修改
然后修改SiteController的rules 使用新创建的MathCaptchaAction
本例下载
本例基于上例Yii Framework 开发教程(20) UI 组件 Captcha示例,做如下修改
首先在protected/components 目录下创建一个MathCaptchaAction,重载generateVerifyCode, renderImage等方法:
class MathCaptchaAction extends CCaptchaAction{protected function generateVerifyCode(){return mt_rand((int)$this->minLength,(int)$this->maxLength);}public function renderImage($code){parent::renderImage($this->getText($code));}protected function getText($code){$code=(int)$code;$rand=mt_rand(1,$code-1);$op=mt_rand(0,1);if($op){return $code-$rand. '+' . $rand;}else{return $code+$rand. '-' . $rand;}}}
然后修改SiteController的rules 使用新创建的MathCaptchaAction
public function actions(){return array('captcha'=>array('class' => 'MathCaptchaAction','minLength' => 1,'maxLength' => 10,));}
本例下载
- Yii Framework 开发教程(21) UI 组件 自定义Captcha示例
- Yii Framework 开发教程(21) UI 组件 自定义Captcha示例
- Yii Framework 开发教程(20) UI 组件 Captcha示例
- Yii Framework 开发教程(20) UI 组件 Captcha示例
- Yii Framework 开发教程(10) UI 组件 自定义组件
- Yii Framework 开发教程(10) UI 组件 自定义组件
- Yii Framework 开发教程(11) UI 组件 ActiveForm示例
- Yii Framework 开发教程(12) UI 组件 ClipWidget示例
- Yii Framework 开发教程(13) UI 组件 ContentDecorator示例
- Yii Framework 开发教程(14) UI 组件 MaskedTextField示例
- Yii Framework 开发教程(15) UI 组件 MultiFileUpload示例
- Yii Framework 开发教程(16) UI 组件 StarRating示例
- Yii Framework 开发教程(17) UI 组件 TabView示例
- Yii Framework 开发教程(18) UI 组件 TextHighlighter示例
- Yii Framework 开发教程(19) UI 组件 TreeView示例
- Yii Framework 开发教程(11) UI 组件 ActiveForm示例
- Yii Framework 开发教程(12) UI 组件 ClipWidget示例
- Yii Framework 开发教程(13) UI 组件 ContentDecorator示例
- Winform 解析Json
- MOSS/Sharepoint RBS概念以及运用
- 简单ios json解析处理
- 命名空间
- java中调用存储过程【附带案例】
- Yii Framework 开发教程(21) UI 组件 自定义Captcha示例
- 把百度文科的混乱,整理成EXCEL的井井有条
- sock_ev——linux平台socket事件框架(event loop)
- douban笔记
- 高精度加减乘模版
- Latency Numbers Every Programmer Should Know
- oracle执行计划中各字段的描述
- Servlet,spring,hibernate
- Java Business Process Management