遵守Plone 4.3.4正则表达式规则的密码

时间:2014-12-07 21:51:08

标签: regex passwords plone zope plone-4.x

Plone 4.3.4发行说明提到了提交Add default Plone password policy。我真的想做一些事情,比如说,所有(重置)密码必须至少8个字符,包含一个低位和一个高位字符,还有一个数字和一个使用正则表达式的特殊字符。我只能在pypi找到这个bug reportProducts.PasswordStrength

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

安装Products.PasswordStrength的方法是什么?那么重置密码必须遵守某些正则表达式规则吗?

1 个答案:

答案 0 :(得分: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;
}

对我而言,这是验证密码复杂性的最灵活,最易维护的解决方案。