中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

怎么解決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

霸州市| 老河口市| 南华县| 吉木萨尔县| 新沂市| 东至县| 阜宁县| 库车县| 江北区| 长泰县| 集贤县| 独山县| 乡宁县| 浦东新区| 澄城县| 四平市| 崇仁县| 天门市| 奈曼旗| 昔阳县| 万荣县| 泾源县| 南开区| 长岭县| 峡江县| 永新县| 石嘴山市| 仁寿县| 武胜县| 姜堰市| 武乡县| 工布江达县| 沾益县| 焦作市| 平利县| 垣曲县| 深圳市| 宁晋县| 建水县| 库伦旗| 新安县|