加強使用者帳號安全始於強大的密碼。 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()
:確保至少一個字母字元。 numbers()
:需要至少一位數字。 symbols()
:需要至少一個特殊字元(例如!@#$)。 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中文網其他相關文章!