易優(yōu)cms驗證碼首先使用Composer安裝think-captcha擴展包:composer require topthink/think-captcha;官方的5.0版本的擴展庫版本號都是1.*,2.0版本均為ThinkPHP5.1版本專用。
驗證碼的簡單用法
擴展包內(nèi)定義了一些常見用法方便使用,以下示例說明
注意:需要開啟URL路由。
模版內(nèi)驗證碼的顯示
{:captcha_img()}
或者
上面兩種的最終效果是一樣的,根據(jù)需要調(diào)用即可。
使用TP5的內(nèi)置驗證功能,添加captcha驗證規(guī)則即可
$this->validate($data,[
‘captcha|驗證碼’=>’require|captcha’
]);
或者手動驗證
if(!captcha_check($captcha)){
//驗證失敗
};
驗證碼的自定義用法
如果項目未開啟路由,或者有實際需求可自行調(diào)用Captcha類操作
驗證碼的生成:
$captcha = new Captcha();
return $captcha->entry();
如果你需要在一個頁面中生成多個驗證碼的話,entry方法需要傳入可標(biāo)識的信息,例如:
$captcha = new Captcha();
return $captcha->entry(1);
驗證碼的驗證:
可以用Captcha類的check方法檢測驗證碼的輸入是否正確,例如,下面是封裝的一個驗證碼檢測的函數(shù):
// 檢測輸入的驗證碼是否正確,$code為用戶輸入的驗證碼字符串,$id多個驗證碼標(biāo)識
function check_verify($code, $id = ”){
$captcha = new Captcha();
return $captcha->check($code, $id);
}
驗證碼的配置參數(shù)
Captcha類帶有默認的配置參數(shù),支持自定義配置。這些參數(shù)包括:
如果使用了擴展內(nèi)置的方法,務(wù)必在應(yīng)用配置文件中配置,5.0.1及以上支持者在應(yīng)用配置目錄下面extra子目錄內(nèi)配置captcha.php文件
參數(shù) 描述 默認
codeSet 驗證碼字符** 略
expire 驗證碼過期時間(s) 1800
useZh 使用中文驗證碼 false
zhSet 中文驗證碼字符串 略
useImgBg 使用背景圖片 false
fontSize 驗證碼字體大小(px) 25
useCurve 是否畫混淆曲線 true
useNoise 是否添加雜點 true
imageH 驗證碼圖片高度,設(shè)置為0為自動計算 0
imageW 驗證碼圖片寬度,設(shè)置為0為自動計算 0
length 驗證碼位數(shù) 5
fontttf 驗證碼字體,不設(shè)置是隨機獲取 空
bg 背景顏色 [243, 251, 254]
reset 驗證成功后是否重置 true參數(shù)設(shè)置使用兩種方式。
實例化傳入?yún)?shù):
$config = [
// 驗證碼字體大小
‘fontSize’ => 30,
// 驗證碼位數(shù)
‘length’ => 3,
// 關(guān)閉驗證碼雜點
‘useNoise’ => false,
];
$captcha = new Captcha($config);
return $captcha->entry();
或者采用動態(tài)設(shè)置的方式,如:
$captcha = new Captcha();
$captcha->fontSize = 30;
$captcha->length = 3;
$captcha->useNoise = false;
return $captcha->entry();
驗證碼字體
默認情況下,驗證碼的字體是隨機使用擴展包內(nèi) think-captcha/assets/ttfs目錄下面的字體文件,我們可以指定驗證碼的字體,例如:
$captcha = new Captcha();
$captcha->fontttf = ‘5.ttf’;
return $captcha->entry();
背景圖片
支持驗證碼背景圖片功能,可以如下設(shè)置:
$captcha = new Captcha();
// 開啟驗證碼背景圖片功能 隨機使用擴展包內(nèi)`think-captcha/assets/bgs`目錄下面的圖片
$captcha->useImgBg = true;
return $captcha->entry();
中文驗證碼
如果要使用中文驗證碼,可以設(shè)置:
$captcha = new Captcha();
//中午 驗證碼字體使用擴展包內(nèi)`think-captcha/assets/zhttfs`字體文件
$captcha->useZh = true;
return $captcha->entry();
指定驗證碼字符
指定驗證碼的字符,可以設(shè)置:
$captcha = new Captcha();
// 設(shè)置驗證碼字符為純數(shù)字
$captcha->codeSet = ‘0123456789’;
return $captcha->entry();
如果是中文驗證碼,可以使用zhSet參數(shù)設(shè)置,例如:
$captcha = new Captcha();
$captcha->useZh = true;
// 設(shè)置驗證碼字符
$captcha->zhSet = ‘們以我到他會作時要動國產(chǎn)的一是工就年階義發(fā)成部民可出能方進在了不和有大這’;
return $captcha->entry();
默認的驗證碼字符已經(jīng)剔除了易混淆的1l0o等字符
版權(quán)聲明: 本站資源均來自互聯(lián)網(wǎng)或會員發(fā)布,如果侵犯了您的權(quán)益請與我們聯(lián)系,我們將在24小時內(nèi)刪除!謝謝!
轉(zhuǎn)載請注明: 易優(yōu)eyoucms驗證碼的簡單用法教學(xué)