--- tags: Laravel, rateLimit, login, maxAttempts, decayMinutes --- # Laravel 登入失敗次數限制 - 簡易版本 Laravel 本身已實現了登入失敗次數限制的功能。在使用 Laravel 的登入驗證時,登入失敗次數限制預設是: - 失敗5次,`1分鐘後` 才可再次登入 若要設定: - 失敗5次,`15分鐘後` 才可再次登入 說明: > 在 `LoginController` 類中,增加自訂方法覆蓋 `AuthenticatesUsers` 類原本的方法: > > - `$maxAttempts` 屬性是設定登入失敗次數。 > - `$decayMinutes` 屬性是登入失敗達上限後,須等待的分鐘數。 > > 如果是要修改 Laravel 原本的錯誤次數設定,新增 `$maxAttempts` 屬性及 `$decayMinutes` 屬性並設定值即可完成。 版本 -- Laravel 5.8 以上 改寫登入類別設定 -- _app\\Http\\Controllers\\Auth\\LoginController.php_ ```php= class LoginController extends Controller { use AuthenticatesUsers; ... /** * The maximum number of attempts to allow. * * @var int */ protected $maxAttempts = 5; /** * The number of minutes to throttle for. * * @var int|float|int[]|float[] */ protected $decayMinutes = 15; ```