createnl / zxcvbn-bundle
zxcvbn-php symfony 插件
3.1.0
2023-12-21 15:37 UTC
Requires
- php: ^8.0
- bjeavons/zxcvbn-php: ^1.3
- symfony/translation: ^5.4|^6.0|^7.0
Requires (Dev)
- phpunit/phpunit: ^9.5
- symfony/console: ^5.4|^6.0|^7.0
- symfony/framework-bundle: ^5.4|^6.0|^7.0
This package is not auto-updated.
Last update: 2024-09-26 19:17:04 UTC
README
Zxcvbn Symfony 插件
一个用于将 zxcvbn-php 集成到您的 symfony 应用中的插件。支持本地化和自定义匹配器。
安装
composer require createnl/zxcvbn-bundle
基本用法
use Createnl\ZxcvbnBundle\ZxcvbnFactoryInterface; class PasswordController { public function updatePassword(string $password, ZxcvbnFactoryInterface $zxcvbnFactory) { $userData = [ 'Marco', 'marco@example.com' ]; $zxcvbn = $zxcvbnFactory->createZxcvbn(); $weak = $zxcvbn->passwordStrength($password, $userData); echo $weak['score']; // will print 0 $strong = $zxcvbn->passwordStrength('correct horse battery staple'); echo $strong['score']; // will print 4 echo $weak['feedback']['warning']; // will print user-facing feedback on the password, set only when score <= 2 echo $weak['feedback']['suggestions']; // may contain user-facing suggestions to improve the score } }
本地化
此软件包支持警告和提示消息的本地化。对常用密码、单词和(家庭)名字的检查仅限于英语(美国)。但您可以 标记您自己的匹配器 以扩展到您的需求。
支持的语言
- 荷兰 🇳🇱
- 英语 🇺🇸
- 法语 🇫🇷
添加翻译
如果您缺少您语言的翻译,您可以考虑创建(并贡献)它们。
在项目中覆盖
- 打开 messages.en.yaml
- 将内容复制到您的项目翻译文件中
- 根据需要更改
贡献一种语言
- 此存储库
- 复制 messages.en.yaml
- 将文件名更改为
messages.LOCALE.yaml
(例如messages.es.yaml
) - 打开它并翻译右侧的值到您的语言
- 创建一个 Pull Request
- 谢谢!
扩展匹配器
如果您创建了您自己的匹配器,您可以在服务容器中使用 zxcvbn.matcher
标记它们。
services: App\ZxcvbnMatchers\: resource: '../src/ZxcvbnMatchers' tags: ['zxcvbn.matcher']