You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改ESAPI.properties白名单&字符,避免forHTML()编码它?

ESAPI forHTML() 保留&字符的配置方法

要让ESAPI的ESAPI.encoder().forHTML()方法不编码&,需修改ESAPI.properties中的以下配置项:

核心配置项

使用**Encoder.ValidHTMLCharacters**配置项,它专门定义HTML编码场景下的有效字符白名单,优先级高于全局默认配置。

修改步骤

  • 找到项目中的ESAPI.properties文件(通常位于src/main/resources目录下)
  • 查找或新增Encoder.ValidHTMLCharacters配置行,将&添加到字符列表中
  • 示例配置:
Encoder.ValidHTMLCharacters=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ,.-_*@#$%^&+=|\/<>()

注意事项

  • 修改后需重启应用使配置生效
  • 全局默认配置Encoder.DefaultListOfValidCharacters会被Encoder.ValidHTMLCharacters覆盖,针对HTML编码场景优先使用后者
  • 保留&可能存在XSS风险,因为&是HTML实体的起始标记,需确保业务场景不会引入注入漏洞

内容的提问来源于stack exchange,提问作者Saptarshi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 11:39:53