1

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

使用数字应该很容易:

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

那么在上面的例子中如何检查长度呢?

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

2 回答 2

3

你可以使用 aFILTER_VALIDATE_REGEXP来做到这一点:

$password = "My Great Password";
filter_var($password, 
  FILTER_VALIDATE_REGEXP,
  array( "options"=> array( "regexp" => "/.{6,25}/"))
);
于 2013-01-07T21:37:02.987 回答
0

不知道,为什么要使用内置过滤器

if (strlen($password) < $options['min_range'])) {
  // Password too short
}

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

于 2013-01-07T21:37:10.913 回答