转义、过滤、验证和清理之间有什么区别?

信息安全 术语 验证
2021-09-08 08:04:47

应用程序需要仔细处理不可信数据的输入和输出。视情况而定,必须对值进行转义过滤验证清理这些术语的使用似乎经常草率且可互换,尽管它们显然并不完全等同。

我正在寻找有关安全上下文中差异和正确用法的澄清概述。

1个回答

逃跑将控制字符转换为其转义序列。例如,<可以将符号转换为,&lt;以便后面的字符<不会被解释为 XML 标记而不是 XML 内容。

过滤就像转义一样,但不是替换控制字符,而是简单地删除它。

已验证。 将输入与白名单或正则表达式进行比较,以检测会触发未经授权行为的控制字符或其他字符序列。例如,用户输入的帐号可能会根据已知与用户绑定的帐号列表进行验证。

已消毒。 转义、过滤和验证的组合,可确保系统功能的输入不会触发意外和未经授权的行为。