ritey/password-strength

此包为Laravel 6应用程序提供了确保密码强度的验证器。

v1.12 2019-11-06 10:46 UTC

This package is auto-updated.

Last update: 2024-09-06 23:26:17 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]

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

[0.4.1]

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

[0.3.1]

  • 修复:包验证器不再覆盖自定义验证错误信息。但由于我无法设置一个测试来控制密码强度包将变量传递到包内部测试目录中的原生验证器,因此尚未进行功能测试。有什么建议吗?

许可证

本包采用 MIT 许可证。查看完整许可证。

问题报告或功能请求

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