Das integrierte Captcha von Yii kann grundsätzlich die meisten Anforderungen an Bestätigungscodes erfüllen. Dies wird hauptsächlich durch die Erweiterung von CCaptchaAction erreicht das zufällig Addition und Subtraktion innerhalb von 10 generiert. Benutzer
müssen das richtige Ergebnis berechnen, um die Überprüfung zu bestehen.
Dieses Beispiel basiert auf dem Captcha-Beispiel der UI-Komponente im obigen Yii Framework Development Tutorial (20) mit den folgenden Änderungen
Erstellen Sie zunächst eine MathCaptchaAction im Verzeichnis protected/components und überladen Sie genericVerifyCode,
renderImage und andere Methoden:
Dann ändern Sie die Regeln von SiteController und verwenden Sie die neu erstellte MathCaptchaActionclass 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;}}}
public function actions() { return array( 'captcha'=>array( 'class' => 'MathCaptchaAction', 'minLength' => 1, 'maxLength' => 10, )
Die Oben finden Sie das PHP-Entwicklungsframework Yii Framework-Tutorial (21). Der Inhalt der UI-Komponente Captcha-Beispiel. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn).