Yii에 내장된 보안 문자는 기본적으로 대부분의 요구 사항을 충족할 수 있습니다. 인증 코드에 대한 특별한 요구 사항이 있는 경우 보안 문자를 맞춤 설정할 수 있습니다. 이
는 주로 CCaptchaAction을 확장하여 달성됩니다. 10 이내의 덧셈과 뺄셈을 무작위로 생성합니다. 검증을 통과하려면 사용자
가 올바른 결과를 계산해야 합니다.
이 예는 위의 Yii 프레임워크 개발 튜토리얼(20)에 있는 UI 구성 요소 Captcha 예를 기반으로 하며 다음과 같이 수정되었습니다.
먼저 protected/comComponents 디렉토리에 MathCaptchaAction을 생성하고 generateVerifyCode를 오버로드합니다.
renderImage 및 기타 메소드:
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;}}}
그런 다음 SiteController의 규칙을 수정하고 새로 생성된 MathCaptchaAction
public function actions() { return array( 'captcha'=>array( 'class' => 'MathCaptchaAction', 'minLength' => 1, 'maxLength' => 10, )
를 사용합니다. 위는 PHP입니다. 개발 프레임워크 Yii 프레임워크 튜토리얼(21) UI 구성 요소 Captcha 예제 콘텐츠, 더 많은 관련 콘텐츠를 보려면 PHP 중국어 웹사이트(www.php.cn)를 참고하세요!