Heim  >  Artikel  >  Backend-Entwicklung  >  Gründe und Lösungen für das Scheitern der TP6-Verifizierungscode-Verifizierung

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

silencement
silencementnach vorne
2020-01-26 22:16:165203Durchsuche

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

Der Controller führt

use think\captcha\facade\Captcha;
ein, um den Bestätigungscode
public function verify()
{
    return Captcha::create();
}
zu generieren

Bestätigungscode überprüfen

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

Prüfmethode

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

Anhand der oben genannten Prüfmethode können wir erkennen, dass die Bestätigung des Bestätigungscodes eine Sitzung erfordert. und Thinkphp6 ist standardmäßig auf Wenn es nicht aktiviert ist, müssen Sie es gemäß dem Handbuch initialisieren

Suchen Sie die globale Middleware-Datei middleware.php im Anwendungs-App-Verzeichnis und aktivieren Sie den unten kommentierten Code thinkmiddlewareSessionInit::class.

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

Das obige ist der detaillierte Inhalt vonGrü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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:www.liqingbo.cn. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen