您好,登錄后才能下訂單哦!
TODO:Laravel增加驗證碼
1. 先聊聊驗證碼是什么,有什么作用?
驗證碼(CAPTCHA)是“Completely Automated Public Turing test to tell Computers and Humans Apart”(全自動區分計算機和人類的圖靈測試)的縮寫,是一種區分用戶是計算機還是人的公共全自動程序。可以防止:惡意破解密碼、刷票、論壇灌水,有效防止某個***對某一個特定注冊用戶用特定程序暴力破解方式進行不斷的登陸嘗試,實際上用驗證碼是現在很多網站通行的方式,我們利用比較簡易的方式實現了這個功能。這個問題可以由計算機生成并評判,但是必須只有人類才能解答。由于計算機無法解答CAPTCHA的問題,所以回答出問題的用戶就可以被認為是人類。
隨著科技的不斷進步,圖片識別技術的不斷提高,出現了機器識別驗證碼和第三方人為識別驗證,普通的驗證碼已經起不到很全面的防護作用;所以驗證碼自身也在不多發展,出現了動畫驗證碼,手機短信驗證碼,手機語音驗證碼,視頻驗證碼,拼圖驗證碼,問題驗證碼。
但是驗證碼給用戶代碼的體驗是不夠理想,更多人覺得驗證碼是多余的。但是為了減少惡意,批量的訪問,驗證碼還是有它出現的理由。
2. Laravel驗證碼擴展,我使用一個第三方可擴展“mews/captcha”,使用簡單,可配置多主題。
3. 配置方法,在composer.json中require加入
“mews/captcha”: “~2.0”
運行
composer update
即可安裝成功
4. 配置captcha,在config/app.php的providers的key值增加
MewsCaptchaCaptchaServiceProvider::class,
Aliases的key值增加
‘Captcha’ => MewsCaptchaFacadesCaptcha::class,
回到項目控制臺運行
$ php artisan vendor:publish
可生成config/captcha.php,可進行配置不同驗證碼主題,如長度,顏色,混淆度等
5. 在登陸頁面login.blade.php增加顯示驗證碼代碼
captcha_src()是返回URL,如果要返回HTML可以用captcha_img();只要在括號中填寫不同主題名,即可顯示不同驗證碼,如captcha_src(‘flat’),captcha_img(‘inverse’)。
6. 運用PHP的Trait的特性,重寫登錄驗證。在登陸的LoginController.php重寫登錄、驗證、驗證碼驗證
7. 啟動服務,訪問登錄頁面,可以正常使用驗證碼了。
8. 到此Laravel的驗證碼功能添加成功。
wxgzh:ludong86
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。