Web开发的过程中, 经常会用到验证码, 以防止机器人不断的提交数据, 造成网站的瘫痪. Yii里提供了一个验证码的插件, 就是Captcha. 在项目中使用Captcha需要以下一些设置:
首先在model里加入一个属性verifyCode
public $verifyCode;
然后将verifyCode加入到safeAttributes里面.
很多人都没有认真看, 或者不知道怎么将captcha加到safeAttributes里, 这里给出方法:
public funtion safeAttributes() {
return array(
'verifyCode', 'xx', 'yy', ....
}
}
接着在rules里加入verifyCode的验证规则:
array('verifyCode', 'captcha');
Controller里也要做必要的设置, 添加actions方法:
public function actions() {
return array(
'captcha' => array(
'class' => 'CCaptchaAction',
'backColor' => 0xF5F5F5,
),
);
}
同时, 需要将captacha添加到accessRules里, 以允许所有用户访问该方法.
最后, 就是在view里显示captcha了, 方法如下:
widget('CCaptcha'); ?>
这里用了2行来处理captcha, 效果会比较美观.