mralston /
在达到一定数量的失败登录尝试后锁定用户账户。
v1.0.14
2024-04-29 22:23 UTC
Requires
- php: ^7.4|^8.0
- illuminate/auth: ^7.0|^8.0|^9.0|^10.0|^11.0
- illuminate/database: ^7.0|^8.0|^9.0|^10.0|^11.0
- illuminate/http: ^7.0|^8.0|^9.0|^10.0|^11.0
- illuminate/support: ^7.0|^8.0|^9.0|^10.0|^11.0
README
在多次失败的登录尝试后锁定用户账户和IP地址。
安装
您可以通过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)。请参阅 许可证文件 以获取更多信息。