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

WBOY
リリース: 2023-06-12 11:45:10
オリジナル
2806 人が閲覧しました

インターネットの急速な発展に伴い、グラフィックベースの検証コードは 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 サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!