首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >SonarQube正则化replaceAll安全热点

SonarQube正则化replaceAll安全热点
EN

Stack Overflow用户
提问于 2022-07-23 17:16:10
回答 1查看 235关注 0票数 0

以下代码标记为SonarQube中的安全热点,因为在计算正则表达式时会出现回溯,这可能导致DoS。正则表达式很好,因为它在代码的其他地方没有标记,所以我认为SonarQube正在标记它,因为它使用的是ReplaceAll。我读过这篇文章,Is use of ReplaceAll() method forbidden in SonarQube,但我认为这不适用于这里。我的老板希望我用//NOSONAR的注释来修复这个wihtout,但不确定需要修复什么。

代码语言:javascript
复制
      final String MONGO_REG = "(mongodb://.+:)(.*)(@.+)";
      final String PASSWD_REPLACEMENT = "XXXXXXXXXX";
      String mongoUri = "mongodb://myDBReader:D1fficultP%40ssw0rd@mongodb0.example.com:27017/?authSource=admin";
      String newMongoUri = mongoUri.replaceAll(MONGO_REG, "$1" + PASSWD_REPLACEMENT + "$3");
      logger.info(">> {}", newMongoUri);

使用Java 11,有人能看到我如何解决这个问题吗?

EN

回答 1

Stack Overflow用户

发布于 2022-07-24 19:15:55

Difference between String replace() and replaceAll()

如果您以这种方式使用它,则应该使用Pattern.compile。Sonarqube无法检查您是否使用常规模式。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73092773

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档