java - 寻找一种方法来防止在项目中使用 java.sql.Statement

标签 java sonarqube owasp

我们的团队希望更好地遵守 OWASP 指南,其中一项任务是防止 SQL 注入(inject)攻击。为了促进这一点,我正在寻找一种方法来自动检查代码库中 java.sql.Statement 的使用情况,因此可以标记并更改为使用 PreparedStatement.

我们的构建过程基于 Maven,我们还设置了 Sonar 来对项目运行分析。如果满足某些阈值,Sonar 中已经制定了一些规则来使我们的构建失败,因此可以在那里实现。我已经看到在哪里可以设置一个 checkstyle 正则表达式规则来查找导入,但我想看看是否还有其他选项。

开发/构建路径上的任何位置都可以。如果 intellij 中有一些东西可以标记这个,maven 构建过程中有一些东西,或者在 Sonar 中有不同的方法来标记这个,那么任何一个都可以。

谢谢!!

最佳答案

我会建议 creating an architectural constraint Sonar 内。

该示例演示了禁止使用 *java.sql.** 类的规则。

关于java - 寻找一种方法来防止在项目中使用 java.sql.Statement,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8882804/

相关文章:

java - 与功能文件不同的模块中的 CUCUMBER 功能定义

c# - SonarQube 分析无法完成,因为找不到分析配置文件

java - org.owasp.esapi.Encoder.encodeForHTML 和 org.owasp.esapi.Encoder.encodeForJavaScript 方法之间有什么区别

java - 计算并显示耗时的百分比

java - 推荐哪个 : Instant. now().toEpochMilli() or System.currentTimeMillis()

java - 根据用户输入提交可变长度表单

Sonar 与 Sonar 扫描仪

unit-testing - 为什么我在 SonarQube 中看不到 "unit test success"小部件的 "unit tests coverage"部分

gradle - OWASP依赖项检查Gradle插件异常

java - 如何使用 OWASP 编码器项目规范化内容