java - Fortify 扫描问题修复 - 未发布的资源:数据库
问题描述
对于下面的行,我该如何避免这个问题
Query query = getSession().createQuery("my sql query");
或者
Session session = getSession();
SQLQuery query = session.createSQLQuery("");
我的 DAO 实现中有几个查询,我无法在每次查询执行后关闭会话(如果我这样做不会造成连接池瓶颈或内存过度使用?)。
但是我需要解决这个问题或提供适当的理由来使它成为一个积极的错误。
请指导
解决方案
有几个选项:
- 您可以在 FPR 报告文件中将这些问题标记为“无问题”,并将未来的扫描合并到基线审计审查中。合并文件中不会再次出现相同的问题。有一些方法可以通过传递原始基线文件(第一次审计审查)从命令行自动合并。
- 我认为您还可以在
finally
块中添加关闭会话语句。这只会在发生异常时执行。
我不认为在这里创建自定义规则会起作用,因为没有污点或会话关闭功能可以检测。
推荐阅读
- javascript - 在 JavaScript 中压缩(挤压)字符串
- sql - 有没有一种优雅的方法可以根据 SQL 中的数组元素按组聚合数据?
- html - 彼此内部的“a”标签和“label”标签不起作用
- bootstrap-5 - Bootstrap 5 间距实用程序类中的“s”和“e”代表什么?
- kubernetes - 从 Kubernetes pod 内的 Linux shell 运行脚本
- .htaccess - 通过 .htaccess 的用户友好 URL
- python - 我可以在多类分类问题中使用 tf.metrics.BinaryAccuracy 吗?
- reactjs - 在 useState 回调中分配时反应 useRef 当前值触发两次
- javascript - 尝试在 Javascript 待办事项列表中编辑按钮
- java - Java Swing:整个 ScrollBar 的背景(不显示)