在达到一定数量的失败登录尝试后锁定用户账户。

资助包维护!
mralston

v1.0.14 2024-04-29 22:23 UTC

This package is auto-updated.

Last update: 2024-08-29 23:01:51 UTC


README

在多次失败的登录尝试后锁定用户账户和IP地址。

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

安装

您可以通过composer安装此包。

composer require mralston/lockout

您可以使用以下命令发布和运行迁移:

php artisan vendor:publish --provider="Mralston\Lockout\LockoutServiceProvider" --tag="lockout-migrations"
php artisan migrate

您可以使用以下命令发布配置文件:

php artisan vendor:publish --provider="Mralston\Lockout\LockoutServiceProvider" --tag="lockout-config"

这是发布配置文件的内容

return [
    'max_attempts_user' => env('MAX_LOGIN_ATTEMPTS_USER', 10),
    'max_attempts_ip' => env('MAX_LOGIN_ATTEMPTS_IP', 20),
    'lockout_duration_user' => env('LOCKOUT_DURATION_USER', 15 * 60),
    'lockout_duration_ip' => env('LOCKOUT_DURATION_IP', 60 * 60 * 24 * 7),
];

基本用法

在指定的时间间隔内,如果失败尝试次数过多,该包将自动阻止用户账户或IP地址。

MAX_LOGIN_ATTEMPTS_USER 决定了在锁定之前允许特定用户多少次失败的登录尝试。

MAX_LOGIN_ATTEMPTS_IP 决定了在锁定之前允许从特定IP地址多少次失败的登录尝试。

LOCKOUT_DURATION_USER 决定了用户账户应该被锁定多长时间。设置为0或null表示永久禁止。

LOCKOUT_DURATION_IP 决定了IP地址应该被锁定多长时间。设置为0或null表示永久禁止。

解锁用户和IP地址

可以使用以下命令手动解锁已锁定的用户账户或IP地址:

php artisan lockout:unlock --user=123
php artisan lockout:unlock --email=somebody@example.com
php artisan lockout:unlock --ip=1.2.3.5

维护

使用以下命令可以删除失败的认证尝试的旧记录,该命令可以手动运行或通过调度程序运行:

php artisan lockout:prune

更新日志

请参阅 CHANGELOG 以了解最近更改的信息。

贡献

请参阅 CONTRIBUTING 以获取详细信息。

安全漏洞

请参阅 我们的安全策略 了解如何报告安全漏洞。

致谢

许可证

MIT许可证(MIT)。请参阅 许可证文件 以获取更多信息。