pauloamgomes / cockpit-cms-userflood
此软件包已被弃用且不再维护。未建议替代软件包。
Cockpit CMS 的 UserFlood 插件,在配置的失败登录尝试次数后锁定用户,提供一个非常简单的功能。
v0.1
2019-06-02 18:12 UTC
This package is auto-updated.
Last update: 2023-05-29 01:31:15 UTC
README
此插件通过在配置的失败登录尝试次数后锁定用户来扩展 Cockpit CMS (Next) 的核心功能,提供了一个非常简单的功能。
安装
手册
下载 最新版本 并解压到 COCKPIT_PATH/addons/UserFlood
目录
Git
git clone https://github.com/pauloamgomes/CockpitCMS-UserFlood.git ./addons/UserFlood
Cockpit CLI
php ./cp install/addon --name UserFlood --url https://github.com/pauloamgomes/CockpitCMS-UserFlood.git
Composer
- 确保在项目的 composer.json 文件中定义了 cockpit 插件路径
{ "name": "MY_PROJECT", "extra": { "installer-paths": { "cockpit/addons/{$name}": ["type:cockpit-module"] } } }
- 在项目根目录运行
composer require pauloamgomes/cockpitcms-userflood
配置
失败尝试次数可以按以下方式配置
flood: errors: 4 # max. allowed retries before lockout lockout: 20 # minutes lockout block: 4 # deactivate user after 4 consecutive lockouts failban: true # auto-blacklist malicious users based on ip behavior
如果没有提供配置,则默认使用 4 次登录失败。在 16 次连续失败登录尝试后(总计 4 次锁定),将用户设置为不活动(锁定)。failban
选项自动将相关用户 IP 列为黑名单,该 IP 与允许的最大错误数相关。
使用
UserFlood 插件(尚未)提供任何用户界面,它在身份验证工作流期间在后台工作,使用 cockpit.authentication.failed
、cockpit.authentication.success
和 cockpit.accounts.save
事件。
- 当用户失败登录尝试时,将用户设置为不活动(锁定)。
- 为了能够登录,需要通过管理界面再次将用户设置为活动状态。
可扩展性
UserFlood 插件提供了以下事件,这些事件可以被其他插件处理
flood.insert
- 在每次失败尝试时flood.block
- 当达到最大失败尝试次数时用户被锁定flood.reset
- 当删除 flood 用户条目时
待办事项和改进
- 通过 IP 地址阻止用户
- 定义一个时间表,其中应该发生阻止(例如,如果过去一小时内有 10 次尝试)
- 创建一个管理界面,列出所有 flood 事件
版权和许可
版权 2018 pauloamgomes,根据 MIT 许可证。