dhensby/silverstripe-zxcvbn

基于 Zxcvbn PHP 的真实 SilverStripe 密码强度验证器

安装: 785

依赖: 0

建议者: 0

安全性: 0

星标: 2

关注者: 3

分支: 2

公开问题: 0

类型:silverstripe-vendormodule

v0.2.0 2019-03-21 17:38 UTC

This package is auto-updated.

Last update: 2024-09-22 05:21:19 UTC


README

这是一个用于替换核心 SilverStripe\Security\PasswordValidator 类的即插即用模块。本模块实现了 bjeavons/zxcvbn-php,它提供了更真实的密码强度(或,更准确地说,是漏洞)度量。

安装

使用 composer 安装

composer require dhensby/silverstripe-zxcvbn

用法

此模块会自动将验证器注册到 Injector,这意味着任何现有的 SilverStripe\Security\PasswordValidator 实例(使用 Injector 工厂)将自动替换为这个验证器。

大多数新的 SilverStripe 应用程序已经注册了 PasswordValidator,如果是这种情况,你可能需要做出这个更改

在你的 _config.php

use SilverStripe\Security\PasswordValidator;
use SilverStripe\Security\Member;

-$validator = new PasswordValidator();
+$validator = PasswordValidator::create();
+$validator->setMinTestScore(3);
$validator->setMinLength(8);
$validator->setHistoricCount(6);
Member::set_password_validator($validator);

现有的最小长度和历史密码计数规则仍然存在,并将按预期工作,但请注意,短密码可能需要达到 3 分才能做得很好,而得分 3 的短密码将比得分 2 的长密码更好。

如果你没有任何现有配置,你可以使用 Injector 帮助设置验证器,无需 PHP 代码(SS 4.2+)

SilverStripe\Security\PasswordValidator:
  min_test_score: 3

或者

SilverStripe\Core\Injector\Injector:
  SilverStripe\Security\PasswordValidator:
    properties:
      MinTestScore: 3

指导

验证器将为密码分配一个分数;这个分数的范围是 0 - 4,0 是最差的,4 是最好的。

在现实中,大多数网站上的 3 分将是可以接受的;强制执行 4 分将对大多数用户来说会变得非常令人沮丧。