我正在使用Dropwizard处理一个应用程序,sonnar在传递参数以便能够解除应用程序时抛出一个hostpot错误:
public static void main(final String[] args) throws Exception {
new AfiliacionesGeneralServicesApplication().run(args);
}
索纳尔
有什么办法我可以删除args或能够修复这个主机?
命令行参数的官方文档链接
简单地说,您需要在将参数传递给New AfiliacionesGeneralServicesApplication().run(args)
之前编写一个验证函数。当我说validate时,有许多方法可以编写这样的验证函数
参数
,如果您看到未知参数,则会失败。参数
,如果任何参数与值列表元素匹配,则失败。在将args
从main方法传递给任何其他函数之前,应该执行上述所有函数。 您可以结合上述功能来增强安全性。
根据SonarQube文档:
安全热点:
安全热点突出显示开发人员需要检查的对安全敏感的代码段。 检查后,您会发现不存在威胁,或者需要应用修复程序来保护代码。
规则:使用命令行参数是安全敏感的
当在每个程序入口点(主方法)上使用命令行参数时,此规则会引起一个问题。 目标是指导安全代码审查。
问问你自己
如果你对这些问题中的任何一个回答是,你就有危险了。
如果您有风险,那么在使用命令行参数之前,请确保对它们进行了清理(只允许一小部分白名单字符)。
如果您的应用程序不是关键应用程序,或者您确信提供的参数没有以不安全的方式使用,则可以将热点标记为已审阅。