divineomega/laravel-password-security-audit

Laravel 密码安全审计

v1.1.0 2020-02-21 00:02 UTC

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