Yii內建的Captcha基本上可以滿足大部分需求,如果你對驗證碼有特殊要求,你可以自訂Captcha,這
主要是透過擴展CCaptchaAction來實現的,本例自訂一個驗證碼功能,隨機產生10以內的加減法,用
戶需要計算出正確的結果才能通過驗證。
本例基於上例Yii Framework 開發教學課程(20) UI 元件 Captcha範例,做以下修改
先在protected/components 目錄下建立一個MathCaptchaAction,重載generateVerifyCode,
renderImage等方法:的rules 使用新創建的MathCaptchaAction
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;}}}
以上就是PHP開發框架Yii Framework教程(21) UI元件Captcha範例的內容,更多相關內容請關注PHP中文網(www.php.cn)!