PHP filter_input验证并清理

时间:2014-04-12 23:22:20

标签: php filter-input

我正在编写联系表单,我想使用filter_input验证和清理用户输入 问题是,因为我将它用于每个POST变量,我应该进行验证然后消毒还是什么?我的建议如下:

if (!filter_input(INPUT_POST, 'email', FILTER_VALIDATE_EMAIL)) {
exit ();
} else {
$email  = $_POST['email'];
}

这样可以,或者我必须重新清理$ _POST ['电子邮件']

由于

2 个答案:

答案 0 :(得分:4)

试试这个:

if ( !$email = filter_input(INPUT_POST, 'email', FILTER_VALIDATE_EMAIL)) {
    exit();
}

echo $email

答案 1 :(得分:0)

我认为在使用FILTER_SANITIZE_EMAIL之前使用FILTER_VALIDATE_EMAIL会更好。此外,我建议制作一个正则表达式,强制电子邮件地址符合您要接受的电子邮件地址。 FILTER_SANITIZE_EMAILFILTER_VALIDATE_EMAIL在他们接受的角色中都非常宽松(RFC允许的字符比您想要允许的更多种类,并且在您可能不关心的地方)。< / p>