首页 > 解决方案 > org.owasp.esapi.reference.DefaultEncoder 与 org.owasp.encoder.Encode

问题描述

org.owasp.esapi.reference.DefaultEncoder和类都org.owasp.encoder.Encode提供了一些 VeraCode支持的清理功能,用于解决潜在的跨站点脚本 (XSS) 攻击。鉴于它们都来自 OWASP,我不得不认为它们不是多余的,但有些方法看起来像是为了做同样的事情,例如,DefaultEncoder.encodeForHTML(String)Encode.forHtml(String). 我想知道它们之间有什么不同,什么时候最好使用一个类而不是另一个类。

标签: character-encodingxssowaspveracode

解决方案


它们来自不同的项目,在功能上有一些重叠。org.owasp.esapi.reference.DefaultEncoder来自 ESAPI 项目,org.owasp.encoder.Encode来自 OWASP Java Encoder 项目。Java Encoder 项目更新且维护更积极,并且更专门用于输出编码,而 ESAPI 也有其他功能。

对于 HTML 编码之类的东西,他们在做同样的事情,所以没有太大区别,但现在看起来 ESAPI 更像是一个遗留项目。看:


推荐阅读