laravel - 如果多次登录尝试,锁定特定用户 24 小时
问题描述
如果他尝试多次登录尝试,想要锁定特定用户。如何锁定任何特定控制器的用户 ID、IP 地址?
if ($this->hasTooManyLoginAttempts($request)) {
$this->fireLockoutEvent($request);
return $this->sendLockoutResponse($request);
}
if ($this->attemptLogin($request)) {
return $this->sendLoginResponse($request);
}
$this->incrementLoginAttempts($request);
return $this->sendFailedLoginResponse($request);
想要使用上面的代码来锁定用户
解决方案
要自定义尝试次数和冷却时间,您必须编辑分配给api
组的中间件。
为此,请打开app/Http/Kernel.php
并编辑该throttle:60,1
行。请记住,这60,1
意味着锁定将在一分钟内尝试 60 次失败后触发。
您必须确定的最后一件事是将您的登录路由包装在 api 中间件中,以将节流阀应用于您的路由。
推荐阅读
- c++ - 在 GNU 编译器中发现错误。后期版本?
- html5-canvas - 为什么 emscripten emscripten_get_canvas_element_size 不返回 DOM 元素大小?
- ansible - 按键从 Ansible 字典中获取项目
- python - 如何使用 Python 删除字典中仅包含表情符号的元素
- python - 在图形中拖动“条”并在文本框中显示值?
- caching - 任何 cpu 都执行指令预取分支指令的两个分支
- sql - 如何使用PostgreSQL查询给定列至少匹配给定数组中所有值的所有行?
- rxjs - 如何在条件是另一个可观察的结果的 RxJs 中创建条件语句?
- c# - StreamWriter 在为另一个文件再次实例化后继续写入同一个文件
- c# - 返回带有模型列表的自定义模型 HttpGet