ホームページ >PHPフレームワーク >ThinkPHP >ThinkPHP6 でキャプチャ グラフィック検証コード操作を実行するにはどうすればよいですか?

ThinkPHP6 でキャプチャ グラフィック検証コード操作を実行するにはどうすればよいですか?

WBOY
WBOYオリジナル
2023-06-12 11:45:102867ブラウズ

インターネットの急速な発展に伴い、グラフィックベースの検証コードは Web サイトのセキュリティの重要な部分になりました。検証コードは、ロボットや悪意のあるプログラムによる Web サイト上の操作の自動化を効果的に防止し、ユーザー情報のセキュリティを確保することもできます。 ThinkPHP6をベースとしたWebサイト開発において、キャプチャグラフィック検証コードの動作をどのように実装すればよいでしょうか?この記事では具体的な操作手順をご紹介します。

1. キャプチャ グラフィック検証コードの生成

1. キャプチャ ライブラリを使用したインストール

ThinkPHP6 でキャプチャ グラフィック検証コードの操作を実行するには、まずキャプチャ ライブラリを使用する必要があります。これは、composer を介してインストールできます。プロジェクトのルート ディレクトリにあるcomposer.json ファイルに

"require": {
    "topthink/think-captcha": "^3.1"
}

を追加し、コマンド ライン ツールから

composer update

を実行してインストールを完了します。キャプチャライブラリ。

2. 検証コード データの生成

検証コードを生成する必要がある場合、キャプチャ ライブラリの関連メソッドを呼び出すための新しいコントローラーを作成できます。まず、キャプチャ ライブラリをコントローラに導入する必要があります:

use thinkcaptchaacadeCaptcha;

次に、Captcha::create() メソッドを呼び出して検証コード イメージを生成します。コード例は次のとおりです:

public function create()
{
    return Captcha::create();
}

このとき、該当のURLにアクセスすると、生成された認証コードの画像が確認できます。

3. カスタマイズされた検証コード パラメーター

検証コードの長さ、検証コード画像の幅、検証コード画像の高さなどのパラメーターを使用して、検証コードの一部の設定をカスタマイズすることもできます。例は次のとおりです。

public function create()
{
    return Captcha::create('abcde', 3, 120, 36);
}

上記のコードでは、「abcde」は検証コードのオプションの文字セットを表し、3 は検証コードの長さを表し、120 と 36 は検証コードの幅と高さを表します。それぞれ検証コードの画像。設定完了後、再度該当URLにアクセスすると、カスタマイズした設定により生成された認証コード画像が表示されます。

2. Captcha グラフィック検証コードを検証する

検証コードを生成した後、ユーザーが入力した検証コードを検証して、入力が正しいことを確認する必要もあります。同様に、キャプチャ ライブラリによって提供されるメソッドを検証に使用できます。コントローラーで、Captcha::check() メソッドを呼び出して、入力された確認コードを確認します。例は次のとおりです。

public function check($code)
{
    if (Captcha::check($code)) {
        return '验证成功';
    } else {
        return '验证失败';
    }
}

このうち、$code はユーザーが入力した確認コードを表します。認証コードが正しく入力された場合は「認証成功」が返され、そうでない場合は「認証失敗」が返されます。

認証コードの認証を行う場合、ユーザーが入力した認証コードとケースを比較する必要があり、そうでない場合は認証が失敗します。構成ファイルで大文字と小文字を区別するオプションを設定できます。例:

'captcha' => [
    'reset' => true,
    'useZh' => false,
    'codeSet' => '0123456789',
    'fontSize' => 25,
    'useCurve' => false,
    'useNoise' => false,
    'imageH' => 0,
    'imageW' => 0,
    'length' => 4,
    'bg' => [243, 251, 254],
    'fontttf' => '',
    'expire' => 1800,
    'defaultCode' => '',
    'seKey' => 'thinkphp_captcha',
    'offset' => null,
    'verifyCode' => true,
    'resetCode' => true,
    'keyPrefix' => '',
    'checkSensitive' => true, // 验证码大小写敏感
],

このうち、'checkSensitive' => true は、検証コードで大文字と小文字が区別されることを意味します。

上記は、ThinkPHP6 でキャプチャ グラフィック検証コード操作を実行する方法であり、さまざまな Web サイト開発シナリオに適しています。それが役に立てば幸い。

以上がThinkPHP6 でキャプチャ グラフィック検証コード操作を実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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