character-encoding - 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)
. 我想知道它们之间有什么不同,什么时候最好使用一个类而不是另一个类。
解决方案
它们来自不同的项目,在功能上有一些重叠。org.owasp.esapi.reference.DefaultEncoder
来自 ESAPI 项目,org.owasp.encoder.Encode
来自 OWASP Java Encoder 项目。Java Encoder 项目更新且维护更积极,并且更专门用于输出编码,而 ESAPI 也有其他功能。
对于 HTML 编码之类的东西,他们在做同样的事情,所以没有太大区别,但现在看起来 ESAPI 更像是一个遗留项目。看:
推荐阅读
- spring-boot - 使用条件 where 子句和计数的自定义查询 Hibernate
- css - 如何应用 css 样式来选择焦点?
- jquery - 减去具有相同类名的输入字段
- symfony - 具有 3 个实体的 Symfony 交集实体
- java - 在评估代码或返回已经过去之前查询不返回值
- vim - 移动窗口的 Vim 键盘快捷键不起作用
- asp.net-mvc - POST Fetch .Net Core
- java - 如何在 Java 中将 Scala 回调函数设置为参数?
- spring-boot - 如何在 JUnit 测试中正确模拟 FeignClient 响应
- javascript - 如何使用旋转值通过变换或数学旋转 SVG 矩形?