Get the App
SLTechnology News&Howtos  ›  Development  › 

The causes and Solutions of the failure of TP6 Verification Code

Shulou Source: shulou.com Published: 2022-06-03 05:25:26 10月05日 Update

In this issue, the editor will bring you about the reasons and solutions for the failure of TP6 CAPTCHA verification. The article is rich in content and analyzes and describes for you from a professional point of view. I hope you can get something after reading this article.

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 load / /\ think\ middleware\ LoadLangPack::class, / / Session initialization\ think\ middleware\ SessionInit::class] These are the reasons and solutions for the failure of TP6 CAPTCHA verification shared by Xiaobian. If you happen to have similar doubts, please refer to the above analysis to understand. If you want to know more about it, you are welcome to follow the industry information channel.

Tags: Verification method global cause middleware content file user analysis professional small and medium code rich content namely manual controller article more comments directory Apple Docker Huawei Linux macOS MariaDB Microsoft MySQL NVidia OPPO Reno MariaDB OPPO Reno NVidia Apple Shulou Tech Info