应用程序需要仔细处理不可信数据的输入和输出。视情况而定,必须对值进行转义、过滤、验证或清理。这些术语的使用似乎经常草率且可互换,尽管它们显然并不完全等同。
我正在寻找有关安全上下文中差异和正确用法的澄清概述。
应用程序需要仔细处理不可信数据的输入和输出。视情况而定,必须对值进行转义、过滤、验证或清理。这些术语的使用似乎经常草率且可互换,尽管它们显然并不完全等同。
我正在寻找有关安全上下文中差异和正确用法的澄清概述。
逃跑。将控制字符转换为其转义序列。例如,<
可以将符号转换为,<
以便后面的字符<
不会被解释为 XML 标记而不是 XML 内容。
过滤。就像转义一样,但不是替换控制字符,而是简单地删除它。
已验证。 将输入与白名单或正则表达式进行比较,以检测会触发未经授权行为的控制字符或其他字符序列。例如,用户输入的帐号可能会根据已知与用户绑定的帐号列表进行验证。
已消毒。 转义、过滤和验证的组合,可确保系统功能的输入不会触发意外和未经授权的行为。