xunextw/password-strength

该软件包为Laravel 4应用程序提供了确保强密码的验证器。

1.14.3 2020-01-06 15:18 UTC

README

Build Status Total Downloads License

该软件包提供了一种验证器,确保Laravel 4 & 5应用程序中的强密码。它受到了Symfony 2的PasswordStrengthBundle的很大影响。

它已经有一段时间了,并且因为没有投诉,它很可能已经实现了它的目的。

提供的验证包括

  • 检查输入是否包含字母字符
  • 检查输入是否包含数字字符
  • 检查输入是否包含大小写混合字符
  • 检查输入是否包含符号

文档

安装

获取软件包

对于Laravel 4用户

只需composer require schuppo/password-strength:"~0.10"

对于Laravel 5用户

只需composer require schuppo/password-strength:"~1.5"

初始化软件包

如果您正在运行Laravel 5.5+,则可以从现在开始使用该软件包。软件包自动发现 会处理添加服务提供者的魔法。

如果您没有运行Laravel 5.5(或更高版本),则请在app/config.php中的providers数组键下添加以下行

// app/config/app.php
return array(
    // ...
    'providers' => array(
        // ...
        \Schuppo\PasswordStrength\PasswordStrengthServiceProvider::class,
    );
    // ...
);

注意

我最近意识到在使用此软件包与unique-with结合时存在一个小冲突:当将PasswordStrengthServiceProvider添加到提供者数组中时,如果它位于UniqueWithValidatorServiceProvider之后,则该软件包的规则对Laravel Validator是未知的。

问题很容易解决:只需将此软件包的服务提供者添加到unique-with的服务提供者之前。按照这个顺序,两个软件包都可以正常工作。

使用方法

现在,Laravel的本地Validator扩展了四个规则

  • case_diff
  • numbers
  • letters
  • symbols

示例

您可以根据Laravel网站上验证部分中描述的方法应用这些规则

$v = Validator::make(array(
    'password' => '12345QWERTqwert@',
    'password' => 'case_diff|numbers|letters|symbols'
));
$v->passes();   // returns true;

请注意,您可以使用新规则验证任何值。这个软件包之所以被称为“密码强度软件包”,仅仅是因为它描述了其主要目的。

历史

[Laravel 5 / Laravel 4]

[1.11/-]

简化符号验证

[1.10/0.15]

添加中文和西班牙语翻译

[1.9/0.14]

改进波兰语翻译

[1.8/0.13]

添加阿拉伯语翻译

[1.7/0.12]

添加捷克语翻译

[1.6/0.11]

  • 添加俄语翻译

[1.5/0.10]

  • 将unicode标志添加到大小写差异验证规则中

[1.4/0.9]

  • 添加荷兰语翻译
  • 更新法语翻译
  • 使软件包适应php7

[1.3/0.8.2]

添加罗马尼亚语翻译

[1.2/0.8.1]

添加波兰语翻译

[1.1/0.8]

添加法语翻译

[1.0.2/0.7]

更新README.md

[1.0.1]

使软件包适应laravel 5

[0.6]

  • 添加新的验证规则,检查输入是否包含符号。感谢closca提供此新功能。

[0.5.3]

  • 添加了新的版本到composer.json

[0.5.2]

  • 在README.md中做了小的修改

[0.5.1]

  • 由于数组的链式调用,composer.json现在识别最小要求(PHP 5.4)

[0.4.1]

  • 当使用Laravel的验证器扩展(如unique-with)时,该软件包现在可以正常工作。
  • 该软件包现在可以接受本地化覆盖,如Laravel文档中所述。

[0.3.1]

  • 修复:包验证器不再覆盖自定义验证错误消息。但是尚未进行功能测试,因为我不知道如何设置一个测试来控制从密码强度包到包内测试文件夹的本地验证器的变量传递。有任何建议吗?

许可证

本包遵循MIT许可证。查看完整许可证

报告问题或功能请求

问题和功能请求在GitHub上跟踪。