thinkphp5.1驗(yàn)證碼及驗(yàn)證碼驗(yàn)證功能的實(shí)現(xiàn)詳解
注:由于thinkphp5.1沒(méi)有自帶驗(yàn)證碼,所以需要通過(guò)composer安裝think-captcha 擴(kuò)展包才能實(shí)現(xiàn)驗(yàn)證碼
一、安裝composer
http://chabaoo.cn/article/178346.htm
二、通過(guò)composer安裝think-captcha 擴(kuò)展包
打開(kāi)命令窗口,進(jìn)入vendor/topthink輸入指令即可,也可以安裝shift鍵再右擊鼠標(biāo)打開(kāi)命令窗口可以直接進(jìn)入當(dāng)前文件夾位置
composer require topthink/think-captcha
三、在控制器里寫(xiě)驗(yàn)證碼的方法,要在命名空間引入use think\captcha\Captcha;然后在網(wǎng)址中輸入該方法的路由地址就可以出來(lái)驗(yàn)證碼
//驗(yàn)證碼 public function verify() { $captcha = new Captcha(); return $captcha->entry(); }
四、驗(yàn)證碼在模板中輸出
在視圖中加入以下代碼:
<img src="{:url('user/verify')}" alt="captcha" />
src里填寫(xiě)verify方法的路由地址
五、驗(yàn)證輸入的驗(yàn)證碼是否正確
1、可以用 Captcha 類(lèi)的 check 方法檢測(cè)驗(yàn)證碼的輸入是否正確
// 檢測(cè)輸入的驗(yàn)證碼是否正確,$value為用戶(hù)輸入的驗(yàn)證碼字符串 $captcha = new Captcha(); if( !$captcha->check($value)) { // 驗(yàn)證失敗 }
2、或者直接調(diào)用封裝的一個(gè)驗(yàn)證碼檢測(cè)的函數(shù) captcha_check
/ 檢測(cè)輸入的驗(yàn)證碼是否正確,$value為用戶(hù)輸入的驗(yàn)證碼字符串 if( !captcha_check($value )) { // 驗(yàn)證失敗 }
六、自定義驗(yàn)證碼的參數(shù)
//驗(yàn)證碼 public function verify() { $config = [ // 驗(yàn)證碼字體大小 'fontSize' => 30, // 驗(yàn)證碼位數(shù) 'length' => 4, // 關(guān)閉驗(yàn)證碼雜點(diǎn) 'useNoise' => true, // 驗(yàn)證碼圖片高度 'imageH' => 60, // 驗(yàn)證碼圖片寬度 'imageW' => 200, // 驗(yàn)證碼過(guò)期時(shí)間(s) 'expire' => 1800, ]; $captcha = new Captcha($config); return $captcha->entry(); }
在vendor\topthink\think-captcha\src目錄下的Captcha.php中也可以配置
七、以下是我測(cè)試登錄的代碼部分截圖
控制器里的verify()方法
控制器里的驗(yàn)證登錄的loginCheck()方法
視圖層里的驗(yàn)證碼顯示
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- ThinkPHP5.1驗(yàn)證碼功能實(shí)現(xiàn)的示例代碼
- ThinkPHP5&5.1實(shí)現(xiàn)驗(yàn)證碼的生成、使用及點(diǎn)擊刷新功能示例
- tp5(thinkPHP5框架)captcha驗(yàn)證碼配置及驗(yàn)證操作示例
- thinkPHP5.0框架驗(yàn)證碼調(diào)用及點(diǎn)擊圖片刷新簡(jiǎn)單實(shí)現(xiàn)方法
- thinkPHP框架實(shí)現(xiàn)的短信接口驗(yàn)證碼功能示例
- thinkPHP實(shí)現(xiàn)的驗(yàn)證碼登錄功能示例
- 詳解ThinkPHP3.2.3驗(yàn)證碼顯示、刷新、校驗(yàn)
- thinkPHP中驗(yàn)證碼的簡(jiǎn)單實(shí)現(xiàn)方法
- thinkphp自帶驗(yàn)證碼全面解析
- Thinkphp極驗(yàn)滑動(dòng)驗(yàn)證碼實(shí)現(xiàn)步驟解析
相關(guān)文章
laravel 框架結(jié)合關(guān)聯(lián)查詢(xún) when()用法分析
這篇文章主要介紹了laravel 框架結(jié)合關(guān)聯(lián)查詢(xún) when()用法,結(jié)合實(shí)例形式分析了laravel5.6框架when()基本原理、使用方法及操作注意事項(xiàng),需要的朋友可以參考下2019-11-11CodeIgniter輔助之第三方類(lèi)庫(kù)third_party用法分析
這篇文章主要介紹了CodeIgniter輔助之第三方類(lèi)庫(kù)third_party用法,以CI集成Twig模版為例分析了CodeIgniter集成第三方類(lèi)庫(kù)的實(shí)現(xiàn)步驟與相關(guān)技巧,需要的朋友可以參考下2016-01-01又一個(gè)PHP實(shí)現(xiàn)的冒泡排序算法分享
這篇文章主要介紹了又一個(gè)PHP實(shí)現(xiàn)的冒泡排序算法分享,標(biāo)題中的又一個(gè)是指本站已經(jīng)有好幾篇冒泡排序算法的文章了,如果這個(gè)沒(méi)有滿(mǎn)足你的要求,請(qǐng)看相關(guān)文章里的其他實(shí)現(xiàn)方法吧,需要的朋友可以參考下2014-08-08Zend Framework數(shù)據(jù)庫(kù)操作方法實(shí)例總結(jié)
這篇文章主要介紹了Zend Framework數(shù)據(jù)庫(kù)操作方法,結(jié)合實(shí)例形式總結(jié)分析了Zend Framework數(shù)據(jù)庫(kù)操作相關(guān)函數(shù)使用技巧與注意事項(xiàng),需要的朋友可以參考下2016-12-12wordpress安裝過(guò)程中遇到中文亂碼的處理方法
這篇文章主要介紹了wordpress安裝過(guò)程中遇到中文亂碼的處理方法,是個(gè)人項(xiàng)目中遇到的一個(gè)奇葩事件,經(jīng)過(guò)一番研究,終于解決,這里記錄下來(lái)分享給大家,有需要的小伙伴可以參考下。2015-04-04PHP統(tǒng)計(jì)nginx訪問(wèn)日志中的搜索引擎抓取404鏈接頁(yè)面路徑
這篇文章主要介紹了PHP統(tǒng)計(jì)nginx訪問(wèn)日志中的搜索引擎抓取404鏈接頁(yè)面路徑,可以對(duì)每個(gè)搜索引擎單獨(dú)統(tǒng)計(jì),需要的朋友可以參考下2014-06-06Laravel5.0+框架郵件發(fā)送功能實(shí)現(xiàn)方法圖文與實(shí)例詳解
這篇文章主要介紹了Laravel5.0+框架郵件發(fā)送功能實(shí)現(xiàn)方法,結(jié)合圖文與實(shí)例形式詳細(xì)分析了Laravel5.0+框架郵件發(fā)送相關(guān)原理、配置、實(shí)現(xiàn)方法及操作注意事項(xiàng),需要的朋友可以參考下2019-04-04全世界最小的php網(wǎng)頁(yè)木馬一枚 附PHP木馬的防范方法
php網(wǎng)頁(yè)木馬代碼,大家可以看下自己的網(wǎng)站里面是不是有這樣的代碼,注意網(wǎng)站安全用mcafee限制w3wp.exe生成php或者asp文件。并在php.ini中設(shè)置一下。2009-10-10