먼저 Composer를 사용하여 think-captcha 확장 패키지를 설치합니다.
composer require topthink/think-captcha
컨트롤러는 use think\captcha\facade\Captcha;
public function verify()
{
return Captcha::create();
}
확인 코드 확인
if( !Captcha::check($vercode)) { return json(['code'=>1001, 'msg'=>'验证码错误'); }
확인 방법
/** * 验证验证码是否正确 * @access public * @param string $code 用户验证码 * @return bool 用户验证码是否正确 */ public function check(string $code): bool { if (!$this->session->has('captcha')) { return false; } $key = $this->session->get('captcha.key'); $code = mb_strtolower($code, 'UTF-8'); $res = password_verify($code, $key); if ($res) { $this->session->delete('captcha'); } return $res; }
From 위의 확인 방법을 통해 확인할 수 있습니다. 인증 코드 확인에는 세션이 필요하며 Thinkphp6은 기본적으로 활성화되어 있지 않으며 매뉴얼에 따라 초기화해야 합니다. 응용 프로그램 앱 디렉토리에서 global middleware middleware.php 파일을 찾으세요. , 그리고 아래에 설명된 thinkmiddlewareSessionInit::class 코드를 활성화하세요.
// 全局中间件定义文件 return [ // 全局请求缓存 // \think\middleware\CheckRequestCache::class, // 多语言加载 // \think\middleware\LoadLangPack::class, // Session初始化 \think\middleware\SessionInit::class ]
위 내용은 TP6 인증코드 인증 실패 원인 및 해결 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!