Maison  >  Article  >  développement back-end  >  Cadre de développement PHP Tutoriel Yii Framework (21) Exemple de Captcha de composant d'interface utilisateur

Cadre de développement PHP Tutoriel Yii Framework (21) Exemple de Captcha de composant d'interface utilisateur

黄舟
黄舟original
2017-01-22 09:11:481583parcourir

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,
)

Cadre de développement PHP Tutoriel Yii Framework (21) Exemple de Captcha de composant dinterface utilisateur

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) !


Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn