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

ESAPI升级至2.5.2后出现addHeader验证异常求助

解决方案:ESAPI 2.5.2升级后ValidationException问题

问题原因

ESAPI 2.5.2版本对HTTPHeaderValue的默认白名单验证正则比2.1版本更严格,你的输入包含两个非法内容:

  • 双引号(对应输入里的")
  • 换行符(输入中3.3.3和647之间的换行)
    这两个字符都不在默认正则^[a-zA-Z0-9()-=*.?;,+/:&_ ]*$允许范围内,因此触发ValidationException。

具体解决步骤

1. 修复输入内容(优先推荐)

  • 移除非法字符:确保HTTP头内容不含换行符,同时去掉filename值的双引号,调整后的输入示例:
    attachment;filename=CstmUpdFile-I_3.3.3647_20230822213220.ZIP
    
  • 正确编码:如果需要保留文件名特殊字符,用ESAPI编码工具对内容做HTTP头编码后再设置:
    String encodedFilename = ESAPI.encoder().encodeForHttpHeader("CstmUpdFile-I_3.3.3647_20230822213220.ZIP");
    String headerValue = "attachment;filename=" + encodedFilename;
    

2. 调整ESAPI验证规则(仅业务必须允许双引号时使用)

修改ESAPI.properties配置文件中的HTTPHeaderValue正则,加入双引号字符:

HTTPHeaderValue=^[a-zA-Z0-9()"-=*.?;,+/:&_ ]*$

注意:修改正则需谨慎,必须符合HTTP/1.1规范,避免引入注入类安全风险。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 01:21:01