我理解ESAPI的用途,但我在很多ESAPI示例中都看到了这两行重复。有人可以解释这究竟是什么吗?
ESAPI.encoder().canonicalize(inputUrl,false,false);
答案 0 :(得分:3)
请参阅docs:
规范化只是减少可能的操作 将字符串编码为最简单的形式。这很重要,因为 攻击者经常使用编码来改变他们的输入 将绕过验证过滤器,但仍然可以正确解释 攻击的目标。请注意,编码不止一次的数据不是 普通用户会产生的东西,应该被视为 攻击。
在您的示例中设置为false的两个附加参数分别指示是否限制多个编码和混合编码(请参阅文档的含义)。