Ein Muss! Gründe und Lösungen für das Scheitern der TP6-Verifizierungscode-Verifizierung

silencement
Freigeben: 2023-04-08 09:30:02
nach vorne
5340 Leute haben es durchsucht

Ein Muss! Gründe und Lösungen für das Scheitern der TP6-Verifizierungscode-Verifizierung

Verwenden Sie zuerst Composer, um das Think-Captcha-Erweiterungspaket zu installieren:

composer require topthink/think-captcha
Nach dem Login kopieren

Controller-Einführung

use think\captcha\facade\Captcha;
Nach dem Login kopieren

Bestätigungscode generieren

public function verify()
{
    return Captcha::create();
}
Nach dem Login kopieren

Bestätigungscode überprüfen

if( !Captcha::check($vercode)) {
    return json(['code'=>1001, 'msg'=>'验证码错误');
}
Nach dem Login kopieren

Methode prüfen

/**
 * 验证验证码是否正确
 * @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;
}
Nach dem Login kopieren

Aus der obigen Prüfmethode geht hervor, dass die Überprüfung des Bestätigungscodes eine Sitzung erfordert und Thinkphp6 standardmäßig nicht aktiviert ist. Es muss gemäß dem Handbuch initialisiert werden.

Finden Sie das Globale Mitte im Anwendungs-App-Verzeichnis Datei middleware.php, aktivieren Sie einfach den unten kommentierten Code thinkmiddlewareSessionInit::class

// 全局中间件定义文件
return [
    // 全局请求缓存
    // \think\middleware\CheckRequestCache::class,
    // 多语言加载
    // \think\middleware\LoadLangPack::class,
    // Session初始化
     \think\middleware\SessionInit::class
];
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonEin Muss! Gründe und Lösungen für das Scheitern der TP6-Verifizierungscode-Verifizierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
tp6
Quelle:www.liqingbo.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage