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

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

黄舟
黄舟original
2017-01-21 10:33:141334parcourir

Captcha (test de Turing public entièrement automatisé pour distinguer les ordinateurs des humains, CAPTCHA en abrégé), communément appelé code de vérification, est un programme public entièrement automatique qui fait la distinction entre les ordinateurs et les humains. Dans un test CAPTCHA, l'ordinateur en tant que serveur génère automatiquement une question à laquelle l'utilisateur doit répondre. Cette question peut être générée et jugée par un ordinateur, mais seul un humain peut y répondre. Puisque les ordinateurs ne peuvent pas répondre aux questions CAPTCHA, l’utilisateur qui répond aux questions peut être considéré comme un humain.

Yii Framework fournit les classes CCaptcha et CCaptchaAction pour prendre en charge les codes de vérification. Il convient de noter que cette fonction nécessite la prise en charge de l'extension PHPGD, qui peut être interrogée via l'application Requirements de Yii :

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

Si un avertissement s'affiche, vous pouvez activer cette fonction en installant la bibliothèque d'extension GD et en modifiant PHP.ini.

CCaptcha fournit également la méthode CCaptcha::checkRequirements() pour détecter si la bibliothèque GD est installée.

Cet exemple ajoute la fonction Captcha en modifiant le didacticiel de développement du framework Yii (16) Exemple de classement par étoiles du composant d'interface utilisateur Ce n'est que lorsque le code de vérification d'entrée est correct que l'évaluation de l'utilisateur sera valide, évitant ainsi l'évaluation automatique de la machine.

Tout d'abord, modifiez le DataModel, ajoutez un attribut verifyCode pour stocker le code de vérification saisi par l'utilisateur et ajoutez-y la vérification CCaptchaValidator.

class
DataModel extends CFormModel{public $rating;public $verifyCode;
public function rules(){
return array(array('rating,verifyCode', 'safe'),
array('verifyCode','captcha','allowEmpty'=>!CCaptcha::checkRequirements()),);
}}

Modifiez ensuite le SiteController et ajoutez la méthode actions. Le composant Captcha utilise CCaptchaAction par défaut, et son ID par défaut est captcha.

public function actions()
{
return array(
'captcha'=>array(
'class' => 'CCaptchaAction',
));
}

Vous pouvez maintenant ajouter le composant Captcha dans la vue :

beginWidget('CActiveForm'); ?>
errorSummary($model); ?>widget('CStarRating',
array('model'=>$model,'attribute'=>'rating','name'=>'rating','value'=>3,)); 
?>
label($model,'verifyCode')
 ?>
 widget('CCaptcha'); 
 ?>textField($model,'verifyCode') ?>
endWidget(); ?>

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

Ce qui précède est le tutoriel du framework de développement PHP Yii Framework (20 ) UI Le contenu du composant Exemple de Captcha 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