SonarQube检测出的bug、漏洞以及异味的修复整理

4.Secure this “Transformer” by either disabling external DTDs or enabling secure processing.

在这里插入图片描述

提示应该保护XML变换器。创建javax.xml.transform.Transformer但未启用“安全处理”或创建一个而不禁用外部DTD时,可能会发生XML外部实体或XSLT外部实体(XXE)漏洞。 如果该外部实体被攻击者劫持,则可能导致机密数据泄露,拒绝服务,服务器端请求伪造,从解析器所在机器的角度进行端口扫描,以及其他系统影响。

进行修改如下可以消除漏洞:

在这里插入图片描述

5.Do something with the “boolean” value returned by “delete”.

在这里插入图片描述

提示当包含操作状态代码时,不应忽略返回值。也就是说不应该忽略文件删除操作的结果。

所以进行如下修改,但是如下修改虽然修复了漏洞,但是新增了异味。

在这里插入图片描述

异味提示"java.nio.Files#delete" should be preferred (squid:S4042)。应该使用Files.delete()方法,而不能之间文件delete.所以最后修改成:

在这里插入图片描述

6.Make this “public static userInfoUrl” field final

在这里插入图片描述

这种“public static”字段应该成员变量应该是不变的,所以需要加上final修饰,如下:

在这里插入图片描述

还有几种漏洞不好修复,暂时没有思路

7.Change this method so it throws exceptions

在这里插入图片描述

这种提示,TrustManagers不应盲目接受任何证书。通常会创建X509TrustManager接口的空实现,以允许连接到未由根证书颁发机构签名的主机。 这样的实现将接受任何证书,这使得应用程序容易受到中间人攻击。 正确的解决方案是提供适当的信任存储。

8.Use the recommended AES (Advanced Encryption Standard) instead.

在这里插入图片描述

这种原来用DES加密的提示不应使用DES(数据加密标准)和DESede(3DES)。它推荐的使用AES.但是将DES加密改成AES加密虽然程序异味消除了,但是程序肯定不对吧,加密方式换了肯定会出问题的吧。

三 异味

异味太多了,我也没有消除太多了异味,一个项目异味一般都是好几k,所以消除起来一两个异味对基数没有什么影响,并且异味太多,消除一部分后,并没有感受到那种异味数量巨减的感觉,导致消除异味的积极性不是很高。并且有的异味是真的不好消除,有时候打开一个文

  • 22
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值