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