3

我了解 ESAPI 的用途,但我看到在很多 ESAPI 示例中重复这两行。有人可以解释一下这到底是做什么的吗?

ESAPI.encoder().canonicalize(inputUrl,false,false);
4

1 回答 1

4

请参阅文档

规范化只是将可能编码的字符串简化为最简单形式的操作。这很重要,因为攻击者经常使用编码以绕过验证过滤器的方式更改其输入,但仍能被攻击目标正确解释。请注意,多次编码的数据不是普通用户会生成的,应视为攻击。

在您的示例中设置为 false 的两个附加参数分别指示是否限制多重编码和混合编码(有关含义,请参见文档)。

于 2014-03-18T21:46:28.677 回答