TODO:Laravel增加验证码
2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
TODO:Laravel增加驗(yàn)證碼
1. 先聊聊驗(yàn)證碼是什么,有什么作用?
驗(yàn)證碼(CAPTCHA)是“Completely Automated Public Turing test to tell Computers and Humans Apart”(全自動(dòng)區(qū)分計(jì)算機(jī)和人類的圖靈測(cè)試)的縮寫,是一種區(qū)分用戶是計(jì)算機(jī)還是人的公共全自動(dòng)程序??梢苑乐?#xff1a;惡意破解密碼、刷票、論壇灌水,有效防止某個(gè)黑客對(duì)某一個(gè)特定注冊(cè)用戶用特定程序暴力破解方式進(jìn)行不斷的登陸嘗試,實(shí)際上用驗(yàn)證碼是現(xiàn)在很多網(wǎng)站通行的方式,我們利用比較簡(jiǎn)易的方式實(shí)現(xiàn)了這個(gè)功能。這個(gè)問題可以由計(jì)算機(jī)生成并評(píng)判,但是必須只有人類才能解答。由于計(jì)算機(jī)無法解答CAPTCHA的問題,所以回答出問題的用戶就可以被認(rèn)為是人類。
隨著科技的不斷進(jìn)步,圖片識(shí)別技術(shù)的不斷提高,出現(xiàn)了機(jī)器識(shí)別驗(yàn)證碼和第三方人為識(shí)別驗(yàn)證,普通的驗(yàn)證碼已經(jīng)起不到很全面的防護(hù)作用;所以驗(yàn)證碼自身也在不多發(fā)展,出現(xiàn)了動(dòng)畫驗(yàn)證碼,手機(jī)短信驗(yàn)證碼,手機(jī)語音驗(yàn)證碼,視頻驗(yàn)證碼,拼圖驗(yàn)證碼,問題驗(yàn)證碼。
但是驗(yàn)證碼給用戶代碼的體驗(yàn)是不夠理想,更多人覺得驗(yàn)證碼是多余的。但是為了減少惡意,批量的訪問,驗(yàn)證碼還是有它出現(xiàn)的理由。
2. Laravel驗(yàn)證碼擴(kuò)展,我使用一個(gè)第三方可擴(kuò)展“mews/captcha”,使用簡(jiǎn)單,可配置多主題。
3. 配置方法,在composer.json中require加入
“mews/captcha”: “~2.0”
運(yùn)行
composer update
即可安裝成功
4. 配置captcha,在config/app.php的providers的key值增加
MewsCaptchaCaptchaServiceProvider::class,
Aliases的key值增加
‘Captcha’ => MewsCaptchaFacadesCaptcha::class,
回到項(xiàng)目控制臺(tái)運(yùn)行
$ php artisan vendor:publish
可生成config/captcha.php,可進(jìn)行配置不同驗(yàn)證碼主題,如長(zhǎng)度,顏色,混淆度等
5. 在登陸頁面login.blade.php增加顯示驗(yàn)證碼代碼
captcha_src()是返回URL,如果要返回HTML可以用captcha_img();只要在括號(hào)中填寫不同主題名,即可顯示不同驗(yàn)證碼,如captcha_src(‘flat’),captcha_img(‘inverse’)。
6. 運(yùn)用PHP的Trait的特性,重寫登錄驗(yàn)證。在登陸的LoginController.php重寫登錄、驗(yàn)證、驗(yàn)證碼驗(yàn)證
7. 啟動(dòng)服務(wù),訪問登錄頁面,可以正常使用驗(yàn)證碼了。
8. 到此Laravel的驗(yàn)證碼功能添加成功。
wxgzh:ludong86
轉(zhuǎn)載于:https://my.oschina.net/todosomeone/blog/810501
總結(jié)
以上是生活随笔為你收集整理的TODO:Laravel增加验证码的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 龚宇:爱奇艺已成功解决债务问题
- 下一篇: JVM源码分析之System.curre