schuppo/password-strength

此包为Laravel 4应用程序提供了一种验证器,以确保密码强度。

v2.7 2023-03-06 16:37 UTC

README

Build Status Total Downloads License

此包提供了一种验证器,确保Laravel 4 - 9应用程序中的密码强度。它受到了Symfony 2的PasswordStrengthBundle的影响。

已经有一段时间了,而且没有收到任何投诉,所以它很可能已经达到了其目的。

提供的验证包括

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

文档

安装

获取包

对于Laravel 6 - 9用户

需要PHP 7.1+

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

对于Laravel 5/6用户

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

对于Laravel 4用户

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

初始化包

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

注意

我注意到在使用此包与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 6 - 9]

[2.6]

  • 添加了泰语翻译

[2.5]

  • 添加了对Laravel 9的支持

[2.4]

  • 添加了芬兰语和意大利语翻译

[2.3]

  • 添加了瑞典语和挪威语翻译

[2.2]

  • 添加了对Laravel 8的支持

[Laravel 6 / Laravel 7 ]

[2.1]

  • 添加了土耳其语翻译

[2.0]

  • Laravel 7支持。
  • 最低PHP要求现在是7.1
  • 更改了文件夹结构,psr-4自动加载。
  • 更新Travis CI配置以测试多个Laravel版本。
  • 支持更高版本的PHPUnit。
  • 添加了orchestra/testbench开发依赖项。

[Laravel 5 / Laravel 4]

[1.13/-]

删除了Str facace的需求

[1.12/-]

启用了Laravel 6支持

[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]

  • 最低要求(PHP 5.4,因为使用了数组链)现在在 composer.json 中得到了识别

[0.4.1]

  • 当使用 Laravel 验证器的其他扩展(如 unique-with)时,该包现在可以正常工作
  • 该包现在可以接受本地化覆盖,具体请参考 Laravel 文档

[0.3.1]

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

许可证

本包采用 MIT 许可证。请参阅完整的许可证

报告问题或功能请求

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