Get the App
SLTechnology News&Howtos  ›  Development  › 

The reasons for the failure of TP6 CAPTCHA verification and the solutions

Shulou Source: shulou.com Published: 2022-06-03 05:25:46 09月21日 Update

TP6 CAPTCHA verification failure reasons and solutions, many novices are not very clear about this, in order to help you solve this problem, the following editor will explain in detail for you, people with this need can come to learn, I hope you can gain something.

First install the think-captcha expansion pack using Composer:

Composer require topthink/think-captcha

Controller introduction

Use think\ captcha\ facade\ Captcha

Generate CAPTCHA

Public function verify () {return Captcha::create ();}

Verification code

If (! Captcha::check ($vercode)) {return json (['code'= > 1001,' msg'= > 'CAPTCHA error');}

Check's method

/ * verify that the verification code is correct * @ access public * @ param string $code user verification code * @ return bool user verification code * / 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 the above check method, we can see that CAPTCHA verification requires session, but Thinkphp6 is not enabled by default, so it needs to be initialized according to the manual.

Find the global middleware middleware.php file in the application app directory and open the code\ think\ middleware\ SessionInit::class commented below.

/ / Global middleware definition file return [/ / global request cache / /\ think\ middleware\ CheckRequestCache::class, / / multilingual loading / /\ think\ middleware\ LoadLangPack::class, / / Session initialization\ think\ middleware\ SessionInit::class] is it helpful for you to read the above? If you want to know more about the relevant knowledge or read more related articles, please follow the industry information channel, thank you for your support.

Tags: Validation global middleware files methods users help methods reasons clarity code content this manuals controllers articles novices more comments directories Apple Docker Huawei Linux macOS MariaDB Microsoft MySQL NVidia OPPO Reno Apple Microsoft macOS Xiaomi Shulou Technology