1

Plone 4.3.4 发行说明提到了 commit Add default Plone password policy。我真的很想做一些事情,比如说,所有(重置)密码必须至少有 8 个字符,包含一个小写和一个大写字符以及一个数字和一个使用正则表达式的特殊字符。我只能在 pypi 找到这个错误报告Products.PasswordStrength

Products.PasswordStrength 的说明似乎非常过时(谈论 Plone 4.1 或 4.2 要求 - 没有关于 4.3 的消息,Plone.org上的最后一个版本是 4 岁)。有人使用成功吗?

安装 Products.PasswordStrength 是否可行?所以重置密码必须遵守某些正则表达式规则?

4

1 回答 1

1

正则表达式不是适合这项工作的工具。虽然我确信它已经完成了。我建议遍历每个字符并根据规则列表检查它,例如(在 php 伪中):

// below rules equate to [0-9]{2,} && [A-Z]{1,} && [a-z]{2,} && [:symbol:]{2,}
rules = [num:2, upper:1, lower:2, symbol:2]

foreach(chars as char){
  if(char == [0-9]) found[num]++;
  if(char == [A-Z]) found[upper]++;
  if(char == [a-z]) found[lower]++;
  if(char == [:symbol:]) found[symbol]++;
}


foreach(rules as key => rule){
  if(found[key] < rule) return false;
}

对我来说,这是验证密码复杂性的最灵活和可维护的解决方案。

于 2014-12-08T02:30:15.813 回答