Регулирование не блокируется, поэтому даже если вы изменили его, чтобы не привязывать к IP, учетная запись сможет снова войти в систему после некоторого ожидания.
Если это то, что вы хотите сделать, то Вы можете переопределить функцию throttleKey
, чтобы использовать ключ, не основанный на IP. Если вы хотите полностью заблокировать кого-то, вы также можете переопределить значение decayMinutes
, скажем, на 100 лет.
Например, в обычном контроллере аутентификации:
class class LoginController extends Controller {
use AuthenticatesUsers;
// ...
public $decayMinutes = 52560000; // 100 years
protected function throttleKey(Request $request)
{
return Str::lower($request->input($this->username())); // No IP here now
}
}
Примечание. Поскольку ограничитель скорости сохраняет значения в кэше, очистка кэша также очистит заблокированных пользователей. Если вам нужно более постоянное решение, вы, вероятно, можете добавить флаг в запись пользователя в базе данных, указывающий, что пользователь заблокирован. Это просто быстрое и грязное решение, чтобы все работало на вас быстро.
Еще одно замечание: не блокировка по IP означает, что вы блокируете кого-то, если кто-то пытается взломать его аккаунт. Это может быть немного раздражающим для ваших пользователей, что также необходимо учитывать.