我是一名初学PHP开发人员,正在处理有关PHP脚本注入的问题
幸运的是,PHP具有filter_var
和strip_tags
等功能,可以完美地完成这项工作。
但我不明白术语消毒和验证之间的区别
请解释我的区别,谢谢
答案 0 :(得分:7)
验证是确保输入符合您的业务规则。如果没有,则拒绝输入。您可能希望用户为您提供一个号码,但如果您收到的不是数字,那么这就是验证错误。
而清理意味着确保输入的格式不会破坏其容器。这可能是分号(;)被用户错误地添加到输入中,因此当它被发送给您时,您可以删除/转义它。当根据用户输入处理数据库时,清理还用于避免任何导致数据损坏的尝试。
答案 1 :(得分:1)
清理从变量中删除所有非法字符,如$ email,如果您使用带有验证参数的filter_var
,则检查它是否是有效的电子邮件地址。
$a = 'joe@example.org';
$sanitized_a = filter_var($a, FILTER_SANITIZE_EMAIL);
if (filter_var($sanitized_a, FILTER_VALIDATE_EMAIL)) {
echo "This (a) sanitized email address is considered valid.\n";
}
请参阅此link以供参考。