ホームページ  >  記事  >  PHPフレームワーク  >  laravelの認証コード機能をオフにする方法

laravelの認証コード機能をオフにする方法

PHPz
PHPzオリジナル
2023-04-08 04:30:02844ブラウズ

Laravel は、Web アプリケーションの開発で広く使用されている優れた PHP フレームワークです。 Laravel のデフォルトのユーザー認証システムでは、検証コードがデフォルトで有効になっています。これにより、ユーザーがログインするときのセキュリティが確保されますが、場合によっては確認コードをオフにすることが必要になる場合があります。では、Laravel で確認コードを無効にするにはどうすればよいでしょうか?この記事では詳しく紹介していきます。

Laravel の検証コード

Laravel は、デフォルトで Google の reCAPTCHA サービスを使用して検証コードを生成します。 config/captcha.php ファイルで、デフォルトの検証コード設定オプションを確認できます。

'captcha' => [
    'default' => [
        'length' => 6,
        'width' => 150,
        'height' => 40,
        'quality' => 90,
        'math' => true,
        'expire' => 60,
    ],
    //其他选项
]

Laravel では、検証コードの使用は非常に簡単です。 Laravelの認証システムでは、ログインインターフェースに以下のコードを追加することで認証コードを有効にできます。

@if (config('captcha.default.enable'))
    <div class="form-group">
        <div class="col-md-offset-4 col-md-4">
            <div class="captcha">
                <span>{!! captcha_img() !!}</span>
                <button type="button" class="btn btn-success btn-refresh"><i class="fa fa-refresh"></i></button>
            </div>
        </div>
    </div>
    <div class="form-group">
        <div class="col-md-offset-4 col-md-4">
            <input id="captcha" type="text" class="form-control" placeholder="{{ trans(&#39;validation.attributes.captcha&#39;) }}" name="captcha">
        </div>
    </div>
@endif

このうち、PHPファイル内で認証コードが生成されるかどうかを判断し、認証コードを生成する必要があるかどうかを判断します。検証コード設定ファイルで有効にします。必要に応じて、captcha_image() 関数を使用して検証コード イメージを生成します。 HTML テンプレートでは、画像を表示し、ユーザーが対応する文字列を入力できるようにすることで検証コードが実装されます。

Laravel で確認コードをオフにする方法は?

一部のアプリケーションでは、確認コードが不要に見えたり、ユーザー エクスペリエンスを妨げたりする場合があります。ログインするために確認コードを入力しなければならないことを煩わしく感じるユーザーもいます。 Laravel でキャプチャをオフにする必要がある場合は、次の手順に従ってください:

ステップ 1: 構成ファイルを変更します

config/captcha.php で、enable オプションを false に設定します:

'captcha' => [
    'default' => [
        'length' => 6,
        'width' => 150,
        'height' => 40,
        'quality' => 90,
        'math' => true,
        'expire' => 60,
        'enable' => false, //将enable选项设置为false
    ],
    //其他选项
]

ステップ 2: HTML テンプレート コードを削除する

Laravel では、通常、検証コード生成コードは HTML テンプレートに記述されます。 CAPTCHA をオフにした後、対応する HTML テンプレートからこのコードを削除する必要があります。

ステップ 3: AuthController を変更する

AuthController は、ユーザー認証用の Laravel の組み込みコントローラーです。検証コードをオフにした後、AuthController の login() メソッドも変更する必要があります。

このメソッドでは、次のコード スニペットを削除します。

if (config('captcha.default.enable')) {
    $rules = $request->rules();
    $rules['captcha'] = 'required|captcha';
    $request->validate($rules);
}

上記のコード スニペットは、検証コードを検証するために使用され、検証コードが一致しない場合は例外をスローします。確認コードをオフにすると、このコードは必要なくなります。ユーザーが正常にログインできるようにするには、これを削除する必要があります。

概要

Laravel の検証コード機能はデフォルトで有効になっており、ほとんどの場合、アプリケーションのセキュリティを向上させることができます。ただし、場合によっては、確認コードをオフにすることが必要になる場合があります。 Laravel でキャプチャをオフにするのは非常に簡単です。検証コード構成ファイルを変更し、HTML テンプレート内のコードを削除し、AuthController 内の login() メソッドを変更するだけです。

以上がlaravelの認証コード機能をオフにする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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