溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

ThinkPHP6下如何簡化think-captcha驗(yàn)證碼

發(fā)布時(shí)間:2021-04-19 09:30:27 來源:億速云 閱讀:368 作者:小新 欄目:編程語言

這篇文章給大家分享的是有關(guān)ThinkPHP6下如何簡化think-captcha驗(yàn)證碼的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過來看看吧。

think-captcha驗(yàn)證碼

控制器測試代碼:

<?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="{:captcha_src()}" alt="">
</body>
</html>

默認(rèn)情況下渲染的驗(yàn)證碼如下:

ThinkPHP6下如何簡化think-captcha驗(yàn)證碼

可能有的小伙伴覺得這很清晰呀,但是對于年齡較大的人來說還是比較困難,另外通過修改驗(yàn)證碼文件,也可以提高自己的動手能力、增長知識。

優(yōu)化think-captcha驗(yàn)證碼

找到config\captcha.php配置文件,修改如下部分:

//驗(yàn)證碼位數(shù)
'length'   => 4,                    //簡潔的4字符驗(yàn)證碼
// 驗(yàn)證碼字符集合
'codeSet'  => '0123456789',        //這里我去掉英文了,只留下數(shù)字部分
// 是否使用混淆曲線
'useCurve' => false,
//是否添加雜點(diǎn)
'useNoise' => false,
// 驗(yàn)證碼字體 不設(shè)置則隨機(jī)
'fontttf'  => '4.ttf',            //經(jīng)測試,該字體很順眼

修改后刷新看看,是不是更簡潔了?

ThinkPHP6下如何簡化think-captcha驗(yàn)證碼

這樣其實(shí)已經(jīng)比較可以了,正常情況下不建議再修改框架,但既以學(xué)習(xí)為目的,那我們就再深入優(yōu)化下。

打開vendor\topthink\think-captcha\src\Captcha.php

修改第277行,去掉字體斜移度

imagettftext($this->im, $this->fontSize, 0, $x, $y, $this->color, $fontttf, $char);

最后看看效果,是不是已經(jīng)很滿意了

ThinkPHP6下如何簡化think-captcha驗(yàn)證碼

感謝各位的閱讀!關(guān)于“ThinkPHP6下如何簡化think-captcha驗(yàn)證碼”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細(xì)節(jié)
AI