ホームページ  >  記事  >  PHPフレームワーク  >  ThinkPHP検証コードプラグインのインストール方法を詳しく紹介

ThinkPHP検証コードプラグインのインストール方法を詳しく紹介

PHPz
PHPzオリジナル
2023-04-07 09:27:13686ブラウズ

Web サイトやアプリケーションの開発プロセスでは、検証コードは不可欠なセキュリティ対策です。 ThinkPHP は、優れた PHP 開発フレームワークとして、開発者にシンプルな検証コード統合方法を提供します。この記事ではThinkPHPの検証コードのインストール方法を詳しく紹介します。

まず、ThinkPHP の公式 Web サイトを開いて、検証コードに関連するコンテンツを検索する必要があります。検索結果から、いくつかの検証コードのドキュメントと、すでに開発されている検証コード プラグインを確認できます。この記事では、公式から提供されている認証コードプラグインを使用し、手動でコードを記述して認証コードを統合していきます。

1. 公式の検証コード プラグインを使用する

公式ドキュメントには、ThinkPHP 検証コード プラグインの使用方法が記載されています。公式プラグインを使用するには、次の手順を実行する必要があります。

1.1 ThinkPHP フレームワークの extend ディレクトリに新しい Verify フォルダーを作成し、ダウンロードした検証コード プラグインをその中に置きます。

1.2 ThinkPHP 構成ファイルを表示し、検証コード構成項目が検証コード プラグインが配置されたフォルダーを指定します。具体的なコードは次のとおりです。

'verify' =>[
    //使用中文验证码
    'useZh'=>false,
    //验证码字体大小(px)
    'fontSize'=>25,
    //验证码位数
    'length'=>5,
    //验证码图片宽度(像素)
    'imageW'=>0,
    //验证码图片高度(像素)
    'imageH'=>0,
    //关闭验证码杂点 
    'useNoise'=>true,
    //背景颜色(16进制色值)
    'bg'=>[243, 251, 254],
    //需要包含的字符集合
    'codeSet'=>'0123456789',
    //验证码字符间隔(px)
    'seKey'=>"ThinkPHP.CN_",//密钥
    ...
],

2 つのパラメータ imageW と imageH は実際の状況に応じて設定できることに注意してください。設定されていない場合、検証コード画像のサイズはデフォルトで出力画像のサイズと同じになります。

1.3 検証コードを出力する必要がある場合は常に、次のコードを使用して公式の検証コード プラグインを統合します。

$img = ( new \Think\Verify())->entry();  
echo $img;

コードを実行すると、検証コードが正常に統合されました:

ThinkPHP検証コードプラグインのインストール方法を詳しく紹介

2. 検証コード生成コードを手動で記述します

公式プラグインを使用することに加えて、手動で検証コード生成コード。具体的なプロセスは次のとおりです。

2.1 まず、新しい検証コード クラスを作成し、その中に検証コードの生成メソッドと出力メソッドを記述する必要があります。次のコードは、手動でコーディングされた検証コード クラスの重要な部分です。

class VerifyCode
{
    //验证码字符长度
    private $length = 4;

    //验证码字符数组
    private $codes = [];

    //验证码生成
    public function generate()
    {   
        //生成字符数组
        $this->codes = [];
        for($i = 0; $i length; ++$i) {
            $this->codes[] = chr(mt_rand(48, 57));
        }

        //保存字符数组到session中
        session('verifycode', implode('', $this->codes));

        //开启输出缓存
        ob_start();
        header('Content-Type:/image/png');

        //创建验证码图片
        $image = imagecreate(100, 40);

        //设置画布背景颜色 
        $bg_color = imagecolorallocate($image, 238, 238, 238); 
        imagefill($image, 0, 0, $bg_color);

        //绘制验证码字符
        for($i = 0; $i length; ++$i) {
            $font_file = '/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf';
            $text_color = imagecolorallocate(
                $image, mt_rand(0, 150), mt_rand(0, 150), mt_rand(0, 150));
            imagettftext($image, 24, mt_rand(-20, 20), 5 + $i * 25, 30, 
                         $text_color, $font_file, $this->codes[$i]);
        }

        //输出验证码图片
        imagepng($image);
        imagedestroy($image);
        $img = ob_get_contents();
        ob_end_clean();

        return $img;
    }
}

2.2 検証コードが必要な場合は、次のコードを使用して検証コードを生成および出力します。

$vf = new VerifyCode();
echo $vf->generate();

上記の内容は ThinkPHP 検証 コードの迅速な統合方法 現在、検証コードは非常に一般的な開発セキュリティ対策となっています。開発者として、私たちはそれを迅速に統合し、アプリケーションを安全に保つ方法を学ぶ必要があります。

以上がThinkPHP検証コードプラグインのインストール方法を詳しく紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。