divineomega / laravel-password-security-audit
Laravel 密码安全审计
v1.1.0
2020-02-21 00:02 UTC
Requires
- divineomega/php-cli-progress-bar: ^2.1
- divineomega/php-password-cracker: ^1.1
- laravel/framework: ^5.6||^6.0
Requires (Dev)
- phpunit/phpunit: ^8.5
This package is auto-updated.
Last update: 2024-09-21 21:11:51 UTC
README
此包提供了一个 Artisan 命令,用于审计您的用户密码的安全性。
Laravel 密码安全审计通过执行一个长时间运行的过程,检查您的用户密码与超过 10k 个常用弱密码列表进行比对。完成后,它会输出受影响的用户及其找到的密码的报告。
安装
要安装 Laravel 密码安全审计,只需从您项目的根目录运行以下命令。
composer require divineomega/laravel-password-security-audit
使用
在标准 Laravel 安装中使用默认的 \App\User
模型,您可以只需运行 security:password-audit
Artisan 命令。
php artisan security:password-audit
在运行过程中,将显示进度条,指示正在检查哪个用户,以及完成此过程的大致时间。
此过程的速度取决于您的项目中的用户数量和您的服务器 CPU 性能。如果可用,将利用多个 CPU 核心。
User 1 3.6% 33/560168 ETC: 4h 39m Elapsed: 6s ▓░░░░░░░░░░░░░░░░░░░
完成后,您将看到一个用户弱密码的表格。对于每个用户,这将包括用户的主键(通常是 id
字段)、找到的密码及其关联的散列。
6 user password(s) were found to be weak.
+----------+----------+--------------------------------------------------------------+
| Key (id) | Password | Hash |
+----------+----------+--------------------------------------------------------------+
| 1 | password | $2y$10$v6LjwoJOqumnO2A1VmscD.Tnot0D2koOzpGsmVfZaiWM6zprRpwWi |
| 2 | secret | $2y$10$em9DONupJiDO1LMnR2PZZeoTOEyNutx4mGscQiKXWCBr09INUAjj6 |
| 14 | admin | $2y$10$Kc.6/37NfY.D.JlSFxhyKexUQoo8dDng37MQDl.jSTtwclt7/ypJO |
| 43 | test123 | $2y$10$Nli8PgRNgTEZE1D1XuiBwOVdxRJJfkVvnWf7N2.Ko93av1ykC4DJO |
| 54 | secret | $2y$10$eq6kcNOFC4bYNBDPHOTtC.EAvrQU3IK1kM5/QpwN3FK7HnxPOjR5e |
| 68 | secret | $2y$10$Fvl47D2y0uDEr.6waoXzpeyB2k/.nz1SBlygWP12g8TbMEMxp1E4S |
+----------+----------+--------------------------------------------------------------+
自定义用户模型
如果您已移动 User
模型或想检查不同的模型,可以使用 --user-model
选项。请参见以下示例。
php artisan security:password-audit --user-model=\\App\\Models\\User
自定义密码字段
如果您希望检查的密码存储在不同的字段中,可以使用 --password-field
选项进行更改。请参见以下示例。
php artisan security:password-audit --password-field=new_password