我最近发现了用于卫生和验证的 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;
}
同样,我不确定我是否真的需要使用此功能完成所有工作。
在确保输入安全方面,我如何改进此功能?