用于提交标准表单的功能


Which function to use for submiting a standard form

我对验证表单输入感到困惑。
例如,一个简单的表单,输入nameemailweb addresspasswordtextarea

据我了解,对于文本输入,我需要使用:

trim()
tripslashes()
htmlspecialchars()
FILTER_SANITIZE_STRING  

对于电子邮件和网址

preg_match()
FILTER_SANITIZE_EMAIL
FILTER_SANITIZE_URL
FILTER_VALIDATE_EMAIL
FILTER_VALIDATE_URL

对于密码

hash()

我想有一种更简单的方法。请提出建议,如果可能的话,请提供正确验证的表格示例。

我建议在盲目地将它们用作"安全措施"之前了解它们中的每一个的作用,因为您可以弊大于利。

trim是删除左侧或右侧的空格。

stripslashes取消引号的字符串。

htmlspecialchars HTML 中具有重要意义的特殊字符转换为 HTML 实体,您应该在输出 HTML 时使用它。

过滤器标志(FILTER_VALIDATE_EMAIL、FILTER_VALIDATE_URL等)与filter_var函数一起使用,如下所示:

if (filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) {
    // Email is valid
}

对于密码,您可以使用指定哈希算法(md5、sha512 等)的 hash 函数。您可能还想查找密码盐以提供进一步的安全性。