經驗分享:thinkphp 5是如何實現驗證碼功能的
現在不管使用什麼系統,都需要進行各式各樣的身份驗證,在各種專案中驗證碼是必須會用到的,驗證碼從誕生開始就是為了區別出到底是人類操作,還是機操作。它在一定程度上可以提高網站的安全性,可以防止惡意註冊及惡意破解密碼。
在各類網站中驗證碼主要用在登入、註冊中或者進行驗證操作,都會用到驗證碼,比如下圖:
既然驗證碼這麼重要,今天我們一起來學習下在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; //
//$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如何使用驗證碼