如何解决 HTTP 参数污染警告?

Posted

技术标签:

【中文标题】如何解决 HTTP 参数污染警告?【英文标题】:How to resolve HTTP Parameter Pollution warning? 【发布时间】:2020-10-05 22:22:59 【问题描述】:

在基于 scala 的应用程序中检查 findSpecBugs 警告时,我遇到了:

带有消息的 HTTP 参数污染警告:将未经验证的用户输入连接到 URL 可以允许攻击者覆盖请求参数的值。

当我将 URL 与从数据库中获取的值连接时,会出现此问题。 知道如何清理或验证该值,还是有其他方法可以解决此问题?

【问题讨论】:

这能回答你的问题吗? Java URL encoding of query string parameters 感谢@Joe,这将警告级别降低到低,但尚未完全删除。 【参考方案1】:

您应该使用URIBuilder 并设置setParameter(<param>, <value>)。像下面这样:

val builder = new URIBuilder(<url>)
    builder.setParameter("pparam1", "value1").setParameter("param2", "value2")
val request = new HttpGet(builder.build())

我希望这能回答你的问题。

【讨论】:

感谢@himanshuIIITian 的回答。这确实帮助并完全解决了警告。 URIBuilder 将用于下一版本 FSB 的解决方案示例。

以上是关于如何解决 HTTP 参数污染警告?的主要内容,如果未能解决你的问题,请参考以下文章

参数必须是实现 Countable 的数组或对象如何解决这个问题?

oracle数据库的警告日志如何查看

如何解决无效的招摇警告

如何解决导航约束警告?

无响应脚本警告 - 含义和如何解决

未处理的承诺警告。如何解决?