PHPs filter_var函数提供验证和清洁。是否建议将它们一起使用,还是应该单独使用,即输入验证,输出卫生处理?
让我假装我希望用户提交包含号码的表单。根据{{3}}我应首先清理数字,然后验证输出,谢谢:
$number = filter_var($_POST['number'], FILTER_SANITIZE_NUMBER_INT);
if (filter_var($number, FILTER_VALIDATE_INT) !== false) {
// Put number in database, or whatever.
}
但是有必要在输入上同时运行吗?卫生处理不会返回布尔值假,或验证会接受的东西吗?
我通常先验证,然后进行消毒以确保我的输入仅包含验证的内容(即,不是字母后跟字母,如“35p”),但我一直怀疑是什么意思实际上是这样做的“正确”方式,因为我不知道filter_var是如何在内部工作的,而且我找不到很多关于它的内容。
答案 0 :(得分:0)
没有必要同时运行
if (filter_var($_POST['number'], FILTER_VALIDATE_INT) !== false) {
// Put number in database, or whatever.
echo "hi";
}