jiriferkl/dumbpass

智能管理弱密码。通过阻止用户使用弱密码来保护用户免受安全问题的困扰。

v1.0.1 2017-01-25 16:28 UTC

This package is not auto-updated.

Last update: 2024-09-23 06:01:09 UTC


README

Latest Stable Version Build Status PHPStan License

智能管理弱密码。通过阻止用户使用弱密码来保护用户免受安全问题的困扰。

简介

此软件包可用于验证用户密码。它检查了由IT安全分析师分析的10,000个最差密码列表。

使用此软件包,您无需设置任何东西。一切都是预先设置的。但您可以设置您喜欢的任何设置。

此软件包

  • 检查密码强度(长度、数字、大写字母等)默认设置如下。
  • 检查10,000个最差密码列表
  • 返回包含以下内容的简单对象结果:
    • 布尔结果变量
    • 包含错误消息的数组(如果有)
  • 默认语言为EN,但您可以选择其他语言(以下是一些示例)

安装

通过composer

composer require jiriferkl/dumbpass

您必须拥有 PHP 7.0

使用

默认设置如下:

  • 最小长度9个字符
  • 密码必须至少包含一个数字
  • 密码必须至少包含一个大写字母
  • 密码必须至少包含一个小写字母
  • 密码必须至少包含一个特殊字符
  • 密码必须是原创的,不能太常见

所以非常简单

$pass = 'P@ss_wo!rd!5';

$result = DumbPass::verify($pass);

我不想使用默认设置

那么请继续。

$pass = 'P@ss_wo!rd!5';

$criteria = new Criteria();
$criteria->enforceCapitalChars(TRUE)
	->enforceNumberChars(TRUE)
	->enforceSpecialChars(TRUE)
	->enforceLowerCaseChars(TRUE)
	->allowCommonPassCheck(TRUE)
	->setLength(8);

$result = DumbPass::verify($pass, $criteria);

我可以选择不同的语言吗?

是的。

$pass = 'P@ss_wo!rd!5';

//null -> default object
$result = DumbPass::verify($pass, NULL, Localization::get(Localization::CZ));

我的语言不是选项之一

那么你有两个选择

  • 发送pull request(很简单,只需要几行代码。)
  • 实现接口并创建自己的Messages类。它有一个简单的方法。
$pass = 'P@ss_wo!rd!5';

$messages = new Messages(); //implements IMessage

//null -> default object
$result = DumbPass::verify($pass, NULL, NULL, $messages);

现在消息已经是你的语言了。恭喜你。

你是否有自己的最常见密码列表?

好的。

$pass = 'P@ss_wo!rd!5';

$passList = new PassList(); //implements IPassList

//null -> default object
$result = DumbPass::verify($pass, NULL, NULL, NULL, $passList);

测试

composer test