現在不管使用什麼系統,都需要進行各式各樣的身份驗證,在各種專案中驗證碼是必須會用到的,驗證碼從誕生開始就是為了區別出到底是人類操作,還是機操作。它在一定程度上可以提高網站的安全性,可以防止惡意註冊及惡意破解密碼。

在各類網站中驗證碼主要用在登入、註冊中或者進行驗證操作,都會用到驗證碼,比如下圖:

 

既然驗證碼這麼重要,今天我們一起來學習下在thinkphp5中,驗證碼是如何實現的。下面我們以商淘軟體B2B2C(WSTMart)開源電子商務系統為例,給大家講解一下在thinkphp 5中如何使用驗證碼。

 

在\wstmart\home\controller\Base.php檔案中

/**

* 獲取驗證碼

*/

public function getVerify(){

WSTVerify();

}

在\wstmart\common\common\function.php檔案中

/**

* 生成驗證碼[在thinkphp5中可以靈活配置引數生成驗證碼]

*/

function WSTVerify(){

$Verify = new \verify\Verify();

$Verify->length  = 4; //驗證碼位數

//$Verify->expire =1800;

//$Verify->useZh= false;//中文驗證碼字串

//$Verify->fontSize= 15;  //驗證碼字型大小(px)

//$Verify->useCurve= true;  //是否畫混淆曲線

//$Verify->useNoise= true;  //是否新增雜點

//$Verify->imageH= true;  //是否新增雜點

//$Verify->imageW= true;  //是否新增雜點

//$Verify->reset= true;  //驗證成功後是否重置

    $Verify->entry();

}

在頁面上通過<imgid='verifyImg' src="{:url('home/index/getVerify')}"onclick='javascript:WST.getVerify("#verifyImg")' >引用驗證碼

/**

 * 核對驗證碼

 */

functionWSTVerifyCheck($code){

        $verify = new \verify\Verify();//建立驗證器

        return $verify->check($code);//呼叫check方法進行驗證

}

 

使用者提交驗證碼引數“verifyCode”資料,後臺通過呼叫WSTVerifyCheck方法對輸入的驗證碼進行驗證;

以上就是thinkphp5中驗證碼是如何實現的,希望以上講述對大家有所幫助!

商淘軟體:Thinkphp5如何使用驗證碼