真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯網站制作重慶分公司

怎么解決thinkphp6驗證碼驗證失???

首先使用Composer安裝think-captcha擴展包:

成都創(chuàng)新互聯公司主營伊吾網站建設的網絡公司,主營網站建設方案,app軟件開發(fā)公司,伊吾h5小程序開發(fā)搭建,伊吾網站營銷推廣歡迎伊吾等地區(qū)企業(yè)咨詢

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'=>'驗證碼錯誤');
}

check的方法

/**
 * 驗證驗證碼是否正確
 * @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;
}

從以上check方法可以看出來驗證碼驗證是需要session的,而Thinkphp6默認是不開啟的,需要根據手冊初始化一下

在應用app目錄下找到全局中間件middleware.php文件,把下面注釋的代碼\think\middleware\SessionInit::class開啟就行了

// 全局中間件定義文件
return [
    // 全局請求緩存
    // \think\middleware\CheckRequestCache::class,
    // 多語言加載
    // \think\middleware\LoadLangPack::class,
    // Session初始化
     \think\middleware\SessionInit::class
]

以上就是TP6驗證碼驗證失敗的原因以及解決辦法的詳細內容,更多請關注創(chuàng)新互聯其它相關文章!


標題名稱:怎么解決thinkphp6驗證碼驗證失???
分享URL:http://weahome.cn/article/pjjeso.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部