createnl/zxcvbn-bundle

zxcvbn-php symfony 插件

安装次数: 11,729

依赖项: 0

建议者: 0

安全: 0

星星: 5

关注者: 4

分支: 4

公开问题: 1

类型:symfony 插件

3.1.0 2023-12-21 15:37 UTC

This package is not auto-updated.

Last update: 2024-09-26 19:17:04 UTC


README

Scrutinizer Code Quality Coverage Status CI Packagist

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
    }
}

本地化

此软件包支持警告和提示消息的本地化。对常用密码、单词和(家庭)名字的检查仅限于英语(美国)。但您可以 标记您自己的匹配器 以扩展到您的需求。

支持的语言

  • 荷兰 🇳🇱
  • 英语 🇺🇸
  • 法语 🇫🇷

更多关于 Symfony 的本地化信息。

添加翻译

如果您缺少您语言的翻译,您可以考虑创建(并贡献)它们。

在项目中覆盖

  1. 打开 messages.en.yaml
  2. 将内容复制到您的项目翻译文件中
  3. 根据需要更改

贡献一种语言

  1. 此存储库
  2. 复制 messages.en.yaml
  3. 将文件名更改为 messages.LOCALE.yaml(例如 messages.es.yaml
  4. 打开它并翻译右侧的值到您的语言
  5. 创建一个 Pull Request
  6. 谢谢!

扩展匹配器

如果您创建了您自己的匹配器,您可以在服务容器中使用 zxcvbn.matcher 标记它们。

services:
  App\ZxcvbnMatchers\:
    resource: '../src/ZxcvbnMatchers'
    tags: ['zxcvbn.matcher']