我想在Zotonic中执行密码策略。我的第一印象是作为身份编辑器中的new_password字段上的验证器来完成这个任务。
下面是一个策略示例:
character
H 110至少有一个基于帐户名H 213F 214的非字母数字>
以下是一个可能的实现(未经测试):
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中执行密码复杂性规则?
发布于 2010-10-05 17:35:57
您可以做的是将其实现为表单验证。按照其他认证的思路。
我想知道是否有一个可以显示密码强度的javascript。(就像一个红绿灯,绿色没问题,红色真的不行。)
可以使用{% validate %} scomp附加验证。
可以通过创建单个正则表达式并使用format验证器http://zotonic.com/documentation/634/format将其附加到密码字段来完成简单的密码检查。
对于您建议的功能,或“交通灯”功能,最好是制作一个自定义验证器。或者,我们添加了对LiveValidation的自定义验证器的支持,然后将一个Javascript函数传递给该函数进行检查。
发布于 2010-10-06 14:37:13
我的同事向我指出:
^.*(?=.{10,})(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%^&+=]).*$可以从http://davidhayden.com/blog/dave/archive/2004/09/25/501.aspx的原始作者那里获得完整的解释。
它在Zotonic中使用时有一个小错误(可能是由于re模块中的奇怪之处),所以我将\d改为[0-9],并将所需的长度减少到8:
^.*(?=.{8,})(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%^&+=]).*$它可以通过替换_action_dialog_set_username_password.tpl存在验证器在中应用:
{% validate id="new_password" type={presence} %}使用格式的验证器,如Marc W在How do you enforce password complexity rules in Zotonic?中描述的那样
{% validate id="new_password" type={format pattern="^.*(?=.{8,})(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%^&+=]).*$"} %}https://stackoverflow.com/questions/3864903
复制相似问题