91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發布時間:2020-05-21 17:14:58 來源:億速云 閱讀:924 作者:鴿子 欄目:編程語言

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

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驗證碼驗證失敗的原因以及解決辦法的詳細內容,更多請關注億速云其它相關文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

边坝县| 岫岩| 淮安市| 梧州市| 扬州市| 吐鲁番市| 大丰市| 焉耆| 甘孜| 乌拉特中旗| 琼中| 黑水县| 泗洪县| 鸡东县| 兴义市| 安远县| 黔西县| 商城县| 同仁县| 锡林郭勒盟| 盐源县| 健康| 万全县| 池州市| 南丰县| 南雄市| 石渠县| 平武县| 永平县| 云梦县| 东至县| 浙江省| 中卫市| 芒康县| 云霄县| 保德县| 什邡市| 柳河县| 清水县| 响水县| 两当县|