Heim >Backend-Entwicklung >PHP-Tutorial >PHP-Entwicklungsframework Yii Framework-Tutorial (20) UI-Komponente Captcha-Beispiel
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:
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(); ?>
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)!