ホームページ >バックエンド開発 >PHPチュートリアル >Laravel で強力なパスワードを強制する
ユーザー アカウントのセキュリティの強化は、堅牢なパスワードから始まります。 Laravel は組み込みのパスワード検証ルールを提供することでこのプロセスを簡素化し、厳格なパスワード ポリシーを実装してアプリケーションの防御を強化できるようにします。 効果的な使い方を探ってみましょう。
パスワード検証ルールの実装
Laravel の Password
ルールは、パスワードの複雑さを定義するさまざまな方法を提供します。 実際の例を次に示します:
フォームリクエスト内の例
<code class="language-php">use Illuminate\Foundation\Http\FormRequest; use Illuminate\Validation\Rules\Password; class RegisterRequest extends FormRequest { public function rules() { return [ 'password' => [ 'required', 'string', Password::min(8) // Minimum 8 characters ->mixedCase() // Uppercase and lowercase letters required ->letters() // At least one letter ->numbers() // At least one number ->symbols() // At least one symbol ->uncompromised(), // Check against known breaches ], ]; } }</code>
メソッドの内訳:
min(8)
: パスワードの最小長を指定します。mixedCase()
: 大文字と小文字の両方が必要です。letters()
: 少なくとも 1 つのアルファベット文字を確保します。numbers()
: 少なくとも 1 桁の数字が必要です。symbols()
: 少なくとも 1 つの特殊文字 (!@#$ など) が必要です。uncompromised()
: パスワードの漏洩を防ぐために、Have I Been Pwned データベースと照合してパスワードを検証します。検証フィードバックのカスタマイズ
よりユーザーフレンドリーなエクスペリエンスを実現するには、言語ファイルで検証メッセージをカスタマイズします。
<code class="language-php">// resources/lang/en/validation.php 'password' => [ 'letters' => 'The :attribute must include at least one letter.', 'mixed' => 'The :attribute must contain both uppercase and lowercase letters.', 'numbers' => 'The :attribute must include at least one number.', 'symbols' => 'The :attribute must include at least one symbol.', 'uncompromised' => 'The :attribute has been compromised. Please select a different :attribute.', ],</code>
これにより、パスワードが基準を満たさない場合に、明確で有益なフィードバックがユーザーに提供されます。
強力なパスワードを生成するためのより簡単なアプローチについては、私の以前の記事「Laravel でのランダムなパスワードの生成」を参照してください。
結論
Laravel の Password
検証ルールにより、堅牢なパスワード ポリシーを簡単に実装でき、セキュリティの強化とユーザー エクスペリエンスの向上を同時に実現できます。
以上がLaravel で強力なパスワードを強制するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。