ziming/laravel-zxcvbn

Laravel 的 Zxcvbn 密码验证规则

2.2 2024-08-09 08:38 UTC

This package is auto-updated.

Last update: 2024-09-13 02:18:50 UTC


README

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

Laravel Zxcvbn 密码验证规则。没有更多,没有更少。

关于 Zxcvbn 的介绍,请参阅以下链接

https://dropbox.tech/security/zxcvbn-realistic-password-strength-estimation

安装

您可以通过 composer 安装此包

composer require ziming/laravel-zxcvbn

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

php artisan vendor:publish --tag="zxcvbn-config"

这是已发布配置文件的内容。默认最低分数设置为 3。

<?php

return [
    // If you wish to override the default min score in the config,
    // you can do so by passing in a second argument to the ZxcvbnRule constructor.
    // e.g. new ZxcvbnRule([], 4)
    'min_score' => env('ZXCVBN_MIN_SCORE', 3),
];

bjeavons/zxcvbn-php 提供了关于 zxcvbn 分数的良好概述。

Scores are integers from 0 to 4:

- 0 means the password is extremely guessable (within 10^3 guesses), dictionary words like 'password' or 'mother' score a 0
- 1 is still very guessable (guesses < 10^6), an extra character on a dictionary word can score a 1
- 2 is somewhat guessable (guesses < 10^8), provides some protection from unthrottled online attacks
- 3 is safely unguessable (guesses < 10^10), offers moderate protection from offline slow-hash scenario
- 4 is very unguessable (guesses >= 10^10) and provides strong protection from offline slow-hash scenario

用法

// In your validation rules
use Illuminate\Validation\Rules\Password;
use Ziming\LaravelZxcvbn\Rules\ZxcvbnRule;

[
    'name' => ['required']
    'email' => ['required', 'email'],
    'password' => [
        'required', 
        'confirmed', 
        'min:8',
        new ZxcvbnRule([
            request('email'),
            request('name'),
        ]),
    ],
]
## Testing

```bash
composer test

变更日志

有关最近更改的更多信息,请参阅 变更日志

贡献

有关详细信息,请参阅 贡献指南

安全漏洞

有关如何报告安全漏洞的详细信息,请参阅 我们的安全策略

鸣谢

许可证

MIT 许可证(MIT)。有关更多信息,请参阅 许可证文件