用php过滤密码

时间:2013-01-07 21:31:55

标签: php

使用内置过滤器(SANITIZE和VALIDATE)过滤密码的最佳方法是什么。 如何验证密码长度?

使用数字应该很容易:

"options" => array(
   'min_range' => 6,
   'max_range' => 25
)

所以在上面的例子中如何检查长度?

array(
   "filter" => SANITIZE_STRING,
   ->check length!?!
)

2 个答案:

答案 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
}

现在只需哈希(使用安全哈希算法)并将其推送到数据库中。您无需采取进一步措施。但是,您可能想要警告您的用户,如果他们尝试设置“简单密码”,例如常规字词,序列或类似内容。另外我建议限制最大长度,因为你为什么要这样做?