代码之家  ›  专栏  ›  技术社区  ›  Alain O'Dea

如何在Zotonic中实施密码复杂性规则?

  •  0
  • Alain O'Dea  · 技术社区  · 14 年前

    我想在Zotonic中强制执行密码策略。我的第一印象是在 new_password 标识编辑器中的字段。

    下面是一个示例策略:

    • 长度至少为8个字符
    • 至少有一个大写字母
    • 至少有一个小写字母
    • 至少有一个号码
    • 至少有一个非字母数字字符
    • 不基于帐户名

    以下是一个可能的实现(未测试):

    string:length(Password) >= 8 andalso
    re:run(Password, "[A-Z]") =/= nomatch andalso
    re:run(Password, "[a-z]") =/= nomatch andalso
    re:run(Password, "[0-9]") =/= nomatch andalso
    re:run(Password, "[^A-Za-z0-9]") =/= nomatch andalso
    re:run(Password, AccountName) =:= nomatch
    

    如何在Zotonic中实施密码复杂性规则?

    2 回复  |  直到 14 年前
        1
  •  1
  •   Marc Worrell    14 年前
        2
  •  0
  •   Community CDub    8 年前

    ^.*(?=.{10,})(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%^&+=]).*$
    

    http://davidhayden.com/blog/dave/archive/2004/09/25/501.aspx

    \d [0-9]

    ^.*(?=.{8,})(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%^&+=]).*$
    

    _action_dialog_set_username_password.tpl

    {% validate id="new_password" type={presence} %}
    

    How do you enforce password complexity rules in Zotonic?

    {% validate id="new_password" type={format pattern="^.*(?=.{8,})(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%^&+=]).*$"} %}
    
    推荐文章