我目前正在尝试一些通用的方法来验证和清理我的表单输入。当然,有数百种甚至数千种方法可以做到这一点,我给自己分配的特殊挑战涉及我的帖子数据并array_map()
在我将其引入时立即运行。我有自己的自定义函数设置为运行filter_var()
并preg_match()
根据我的需要运行在我 array_map() 修剪它之后的数据,然后mysqli_real_escape_string()
在我运行我的 SQL 之前运行它来处理它。你会注意到我htmlspecialchars()
一遍又一遍地跑。是否可以在我的帖子数据上同时运行修剪和 htmlspecialchars。我要提高效率,所以欢迎任何其他建议。
// Trim all the incoming data
$trimmed = array_map('trim', $_POST);
// Assume invalid values
$un = $fn = $ln = $e = $pn = $bio = FALSE;
// Check username
$un = validateUsername(htmlspecialchars($trimmed['uname']));
// Check first name
$fn = validateName(htmlspecialchars($trimmed['fname']));
// Check last name
$ln = validateName(htmlspecialchars($trimmed['lname']));
// Check email address
$e = validateEmail(htmlspecialchars($trimmed['email']));
……等等等等