Heim >Backend-Entwicklung >PHP-Tutorial >PHP-Entwicklungsframework Yii Framework-Tutorial (20) UI-Komponente Captcha-Beispiel

PHP-Entwicklungsframework Yii Framework-Tutorial (20) UI-Komponente Captcha-Beispiel

黄舟
黄舟Original
2017-01-21 10:33:141351Durchsuche

Captcha (Completely Automated Public Turing test to tell Computers and Humans Apart, kurz CAPTCHA), allgemein bekannt als Verifizierungscode, ist ein öffentliches vollautomatisches Programm, das zwischen Computern und Menschen unterscheidet. Bei einem CAPTCHA-Test generiert der Computer als Server automatisch eine Frage, die der Benutzer beantworten muss. Diese Frage kann von einem Computer generiert und beurteilt werden, aber nur ein Mensch kann sie beantworten. Da Computer keine CAPTCHA-Fragen beantworten können, kann der Benutzer, der die Fragen beantwortet, als Mensch betrachtet werden.

Yii Framework bietet die Klassen CCaptcha und CCaptchaAction zur Unterstützung von Verifizierungscodes. Es ist zu beachten, dass diese Funktion Unterstützung für die PHPGD-Erweiterung erfordert, die über die Anforderungsanwendung von Yii abgefragt werden kann:

PHP-Entwicklungsframework Yii Framework-Tutorial (20) UI-Komponente Captcha-Beispiel

Wenn eine Warnung angezeigt wird, können Sie diese Funktion aktivieren, indem Sie die GD-Erweiterungsbibliothek installieren und PHP.ini ändern.

CCaptcha stellt außerdem die Methode CCaptcha::checkRequirements() zur Verfügung, um zu erkennen, ob die GD-Bibliothek installiert ist.

In diesem Beispiel wird die Captcha-Funktion durch Modifizieren des Yii Framework Development Tutorial (16) UI Component StarRating-Beispiel hinzugefügt. Nur wenn der eingegebene Bestätigungscode korrekt ist, ist die Benutzerbewertung gültig, wodurch eine automatische Maschinenbewertung vermieden wird.

Ändern Sie zunächst das Datenmodell, fügen Sie ein Attribut „VerifyCode“ hinzu, um den vom Benutzer eingegebenen Bestätigungscode zu speichern, und fügen Sie die CCaptchaValidator-Verifizierung hinzu.

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

Ändern Sie dann den SiteController und fügen Sie die Aktionsmethode hinzu. Die Captcha-Komponente verwendet standardmäßig CCaptchaAction und ihre Standard-ID ist captcha.

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

Jetzt können Sie die Captcha-Komponente in der Ansicht hinzufügen:

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

PHP-Entwicklungsframework Yii Framework-Tutorial (20) UI-Komponente Captcha-Beispiel

Das Obige ist das Tutorial zum PHP-Entwicklungsframework Yii Framework (20 ) UI Der Inhalt der Komponente Captcha-Beispiel Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn