【发布时间】:2017-01-12 14:34:33
【问题描述】:
我正在验证一个 POST 请求变量,我曾经这样做过:
$email = htmlentities($_POST['email']);
但现在我搜索并了解了 filter_var,我正在做这样的验证:
$email = filter_var(htmlentities($_POST['email']), FILTER_SANITIZE_EMAIL);
哪种方式更好?对于所有类型的输入 [phone - string - etc ..] 我必须使用什么?
对不起,我是初学者,我已经查看了手册,但我不能理解很多。
感谢您的帮助。
【问题讨论】:
-
用你的代码做测试看看。
-
htmlentities会将&转换为&但&是一个有效的电子邮件字符,而;不是,所以不要使用htmlentities来验证电子邮件。 -
@apokryfos ,那么我应该在字符串验证中使用什么(如用户名或 cmets..etc)?
-
这取决于您的规格。如果您想在用户输入它们时详细显示它们,则在发送它们时存储它们并使用
htmlentities转换实体,然后再将它们显示在页面上。如果您想去除标签,请使用strip_tags()。
标签: php