dr.Brain

doctor Brain

мир глазами веб-разработчика

Laravel: ограничение попыток авторизации

как ограничить количество попыток авторизации в Laravel

dr.Brain

время чтения 1 мин.

Photo by Jozsef Hocza on Unsplash

Знаете ли Вы, что система аутентификации Laravel (Laravel Auth system) позволяет Вам блокировать пользователя после определенного количества безуспешных попыток авторизации. Более того, Вы можете управлять этим ограниченимем.

Такой прием будет работать непосредственно “из коробки”, все что нужно сделать - модифицировать один файл.

Откройте App\Http\Controllers\Auth\AuthController.php и добавьте следующий код:

protected $maxLoginAttempts = 10; // Разрешенное количество попыток авторизации
protected $lockoutTime = 300; // Время, на которое блокируется пользователь в секундах

Теперь, после десяти неудачных попыток авторизоваться, мы увидим следующее сообщение:

В случае, если Вы не установили собственные ограничения, значения по умолчанию будут такими:

  1. 5 попыток авторизации,
  2. тайм-аут: 60 секунд.

Для того, чтобы изменить сообщение об ошибке, нужно заглянуть сюда resources/lang/en/auth.php:

failed' => 'These credentials do not match our records.',
'throttle' => 'Too many login attempts. Please try again in :seconds seconds.',

Если Вы все еще не знаете, как это работает, ответ прост: информация о блокируемых пользователях и времени тайм-аута хранится в сессии. Не в базе данных или cookie-файлах, а именно в данных текущей сессии.


Спасибо за внимание.

Новые публикации

Далее

Категории

О нас

Frontend & Backend. Статьи, обзоры, заметки, код, уроки.