dhensby / silverstripe-zxcvbn
基于 Zxcvbn PHP 的真实 SilverStripe 密码强度验证器
v0.2.0
2019-03-21 17:38 UTC
Requires
- php: ^5.6 || ^7.0
- mkopinsky/zxcvbn-php: ^4
- silverstripe/framework: ^4
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 分将对大多数用户来说会变得非常令人沮丧。