使用内置过滤器(SANITIZE和VALIDATE)过滤密码的最佳方法是什么。 如何验证密码长度?
使用数字应该很容易:
"options" => array(
'min_range' => 6,
'max_range' => 25
)
所以在上面的例子中如何检查长度?
array(
"filter" => SANITIZE_STRING,
->check length!?!
)
答案 0 :(得分:3)
您可以使用FILTER_VALIDATE_REGEXP
来执行此操作:
$password = "My Great Password";
filter_var($password,
FILTER_VALIDATE_REGEXP,
array( "options"=> array( "regexp" => "/.{6,25}/"))
);
答案 1 :(得分:0)
不知道,为什么要使用内置过滤器
来实现if (strlen($password) < $options['min_range'])) {
// Password too short
}
现在只需哈希(使用安全哈希算法)并将其推送到数据库中。您无需采取进一步措施。但是,您可能想要警告您的用户,如果他们尝试设置“简单密码”,例如常规字词,序列或类似内容。另外我建议不限制最大长度,因为你为什么要这样做?