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

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

黄舟
黄舟Original
2017-01-22 09:11:481629Durchsuche

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 MathCaptchaAction
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;}}}

public function actions()
{
return array(
'captcha'=>array(
'class' => 'MathCaptchaAction',
'minLength' => 1,
'maxLength' => 10,
)

PHP-Entwicklungsframework Yii Framework-Tutorial (21) UI-Komponente Captcha-Beispiel 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).

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