我最近发现了用于卫生和验证的PHP过滤功能。
我一直想知道我是否正确使用它们并且很难找到关于它们的更多信息,特别是标志。
例如我有电子邮件地址的清理功能。
function sanitize_email($var){
$var = trim($var);
$var = filter_var($var,FILTER_UNSAFE_RAW);
$var = filter_var($var,FILTER_SANITIZE_EMAIL);
$var = filter_var($var,FILTER_VALIDATE_EMAIL);
return $var;
}
我的问题如下?
我应该使用过滤器的组合吗?或者FILTER_VALIDATE_EMAIL是否足以保护表单字段?
我已经知道UNSAFE_RAW不起作用,除非你使用它的标志,但我找不到一个很好的例子来显示它与标志的使用。
我也有类似的功能来清理文本字段,看起来像这样......
function sanitize_text($var){
$var = trim($var);
$var = htmlspecialchars($var);
$var = filter_var($var,FILTER_SANITIZE_STRING);
$var = filter_var($var,FILTER_SANITIZE_MAGIC_QUOTES);
return $var;
}
同样,我不确定我是否真的需要做我使用此功能的所有内容。
如何在确保输入安全方面改进此功能?