yii 자체 인증코드 사용방법

爱喝马黛茶的安东尼
풀어 주다: 2019-11-09 10:39:15
원래의
2052명이 탐색했습니다.

yii 자체 인증코드 사용방법

컨트롤러 구성, 모델 규칙 구성, 뷰 구성의 세 가지 측면으로 나뉩니다.

1단계: 컨트롤러 구성

액션에서 다음 코드를 구성하면 요청 확인 코드 링크가 "controller/captcha"에 해당합니다.

'captcha' => [
         'class' => 'yii\captcha\CaptchaAction',
    //     'backColor'=>0x000000,//背景颜色
         'maxLength' => 4, //最大显示个数
         'minLength' => 4,//最少显示个数
         'padding' => 5,//间距
         'height'=>45,//高度
         'width' => 75,  //宽度
      //   'foreColor'=>0xffffff,     //字体颜色
         'offset'=>4,
 ],
로그인 후 복사

2단계: 모델 규칙을 구성합니다. 즉, 구성을 확인합니다.

먼저 공용 변수를 선언하고

public $verifyCode
로그인 후 복사

두 번째로 규칙 메서드에서 확인을 구성합니다.

['verifyCode', 'captcha','captchaAction'=>'user/captcha','on' => ['login']]
로그인 후 복사

이 구성에서는 구성, 즉 컨트롤러의 경로에 "captchaAction"이 추가됩니다. site/captcha 라우팅으로 이동합니다. 이것이 프레임워크 샘플의 라우팅입니다.

3단계: 뷰에서 구성

ActiveForm에 다음 코드를 추가합니다.

<?= $form->field($model,&#39;verifyCode&#39;)->widget(
    Captcha::className(),
    [
    &#39;template&#39; => &#39;{image}{input}&#39;,
    &#39;captchaAction&#39;=>&#39;user/captcha&#39;, // 此注意要使用自己配置的那个控制器验证码路由
    &#39;imageOptions&#39;=>[ &#39;style&#39;=>&#39;cursor:pointer;width:77px&#39;]
    ]
    )
로그인 후 복사

마지막으로 큰 문제가 있습니다. 인코딩 프로세스 중 일부 Windows 줄 바꿈이나 공백을 사용하여 알 수 없는 출력이 발생하는 것입니다. 인증코드 이미지가 정상적으로 생성되지 않습니다.

CaptchaAction 클래스의 renderImageByGD 메소드에 다음 코드를 추가해야 합니다.

imagecolordeallocate($image, $foreColor);
 
ob_clean(); // 此行为插入代码,目的是清空缓存区为输出图片提供干净空间。
ob_start();
imagepng($image);
imagedestroy($image);
로그인 후 복사

php 중국 웹사이트, 다수의 무료 yii 입문 튜토리얼, 온라인 학습을 환영합니다!

위 내용은 yii 자체 인증코드 사용방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
yii
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿