nickurt / laravel-pwned-passwords
Laravel 10.x/11.x 的 PwnedPasswords
1.11
2024-03-09 14:38 UTC
Requires
- php: ^8.2
- guzzlehttp/guzzle: ^7.8.1
- laravel/framework: ^10.0|^11.0
Requires (Dev)
- orchestra/testbench: ^8.0|^9.0
- phpunit/phpunit: ^10.5.12
README
安装
使用 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