眾所周知,驗證碼能防止惡意登入註冊,它由服務端生成,發送給客戶端,並最終以圖像格式顯示。複雜的驗證碼能提升網站的安全性,但過於複雜的驗證碼也會使得文字的肉眼辨識變得異常困難,使用者體驗大大降低。
本文以最新thinkphp6.0
的think-captcha
擴展為修改對象,來詳細講解如何簡化驗證碼的顯示,提高文字辨識度,讓老年人也看得清!
think-captcha驗證碼
控制器測試程式碼:
<?php namespace app\controller; use app\BaseController; use think\facade\View; class Index extends BaseController { public function index() { return View::fetch(); } }
檢視測試程式碼:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <img src="/static/imghwm/default1.png" data-src="{:captcha_src()}" class="lazy" alt=""> </body> </html>
預設情況下渲染的驗證碼如下:
可能有的小夥伴覺得這很清晰呀,但是對於年齡較大的人來說還是比較困難,另外透過修改驗證碼文件,也可以提升自己的動手能力、增長知識。
最佳化think-captcha驗證碼
找到config\captcha.php
設定文件,修改以下部分:
//验证码位数 'length' => 4, //简洁的4字符验证码 // 验证码字符集合 'codeSet' => '0123456789', //这里我去掉英文了,只留下数字部分 // 是否使用混淆曲线 'useCurve' => false, //是否添加杂点 'useNoise' => false, // 验证码字体 不设置则随机 'fontttf' => '4.ttf', //经测试,该字体很顺眼
#修改後刷新看看,是不是更簡潔了?
這樣其實已經比較可以了,正常情況下不建議再修改框架,但既以學習為目的,那我們就再深入優化下。
開啟vendor\topthink\think-captcha\src\Captcha.php
修改第277行,去掉字體斜移度
imagettftext($this->im, $this->fontSize, 0, $x, $y, $this->color, $fontttf, $char);
最後看看效果,是不是已經很滿意了
本文透過簡單的修改設定檔、去掉傾斜度的方式簡化了驗證碼的顯示,提高了文字辨識度,小夥伴兒們多動手,印象才會更深刻喲!
以上是ThinkPHP6下簡化think-captcha驗證碼,提昇文字辨識度的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具

WebStorm Mac版
好用的JavaScript開發工具

記事本++7.3.1
好用且免費的程式碼編輯器

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中