nickurt/laravel-pwned-passwords

Laravel 10.x/11.x 的 PwnedPasswords

1.11 2024-03-09 14:38 UTC

This package is auto-updated.

Last update: 2024-09-23 14:44:23 UTC


README

Build Status Total Downloads Latest Stable Version MIT Licensed

安装

使用 composer 安装此包

composer require nickurt/laravel-pwned-passwords

复制 PwnedPasswords 插件的配置文件

php artisan vendor:publish --provider="nickurt\PwnedPasswords\ServiceProvider" --tag="config"

示例

验证规则 - IsPwnedPassword

// FormRequest ...

public function rules()
{
    return [
        'password' => ['required', new \nickurt\PwnedPasswords\Rules\IsPwnedPassword(20)]
    ];
}

// Manually ...

$validator = validator()->make(request()->all(), ['password' => ['required', new \nickurt\PwnedPasswords\Rules\IsPwnedPassword(20)]]);

IsPwnedPassword 规则有一个可选参数 frequency(默认值为 10),用于验证请求。

手动使用 - IsPwnedPassword

$isPwnedPassword = \PwnedPasswords::setFrequency(20)
    ->setPassword('laravel-pwned-passwords')
    ->isPwnedPassword();

事件

您可以监听 IsPwnedPassword 事件,例如,如果您想记录应用中的 IsPwnedPassword 请求。

IsPwnedPassword 事件

当密码的频率超过被泄露密码的频率时,将触发此事件 nickurt\PwnedPasswords\Events\IsPwnedPassword

测试

composer test