character-encoding - org.owasp.esapi.reference.DefaultEncoder 与 org.owasp.encoder.Encode

标签 character-encoding xss owasp veracode

org.owasp.esapi.reference.DefaultEncoderorg.owasp.encoder.Encode 类都提供了一些 VeraCode 的 Supported Cleansing Functions用于解决潜在的跨站点脚本 (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 现在更像是一个遗留项目。见:

关于character-encoding - org.owasp.esapi.reference.DefaultEncoder 与 org.owasp.encoder.Encode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52206421/

相关文章:

javascript - 在脚本标签中嵌入 json 的安全方法

security - OWASP ZAP 扫描将 "Application Error Disclosure"返回到 javascript 库。是误报吗?如何证明或修复?

Javascript实现防XSS转义功能

php - 奇怪的字符^M php无法识别

http - jdk.incubator.httpclient URI 查询字符串在包含编码的保留字符时被截断

javascript - Web 资源的用户凭据是否需要 Html.Encode?

jquery - 为 JSON 创建 Rails 代理

unicode - ModSecurity OWASP 核心规则集 - unicode 误报

mysql - 非英语语言的子字符串

java - ByteArrayOutputStream 编码问题