Le Captcha intégré de Yii peut essentiellement répondre à la plupart des besoins. Si vous avez des exigences particulières en matière de codes de vérification, vous pouvez personnaliser le Captcha. Ceci
est principalement réalisé en étendant CCaptchaAction. qui génère aléatoirement une addition et une soustraction dans un délai de 10. Les utilisateurs
doivent calculer le résultat correct pour réussir la vérification.
Cet exemple est basé sur l'exemple Captcha du composant d'interface utilisateur dans le didacticiel de développement du framework Yii (20) ci-dessus, avec les modifications suivantes
Créez d'abord une MathCaptchaAction dans le répertoire protected/components et surchargez generateVerifyCode,
renderImage et autres méthodes :
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;}}}
Modifiez ensuite les règles de SiteController et utilisez le MathCaptchaAction nouvellement créé
public function actions() { return array( 'captcha'=>array( 'class' => 'MathCaptchaAction', 'minLength' => 1, 'maxLength' => 10, )
Ce qui précède est le tutoriel du framework de développement PHP Yii Framework ( 21) Le contenu de l'exemple Captcha du composant d'interface utilisateur Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php.cn) !