处理安全检查的项目代码异常解决记录

处理安全检查的项目代码异常解决记录,第1张

处理安全检查的项目代码异常解决记录

文章目录
  • 处理安全检查的项目代码异常解决记录
  • 1、Password Management: Hardcoded Password
  • 2、Access Specifier Manipulation
  • 3、Null Dereference

1、Password Management: Hardcoded Password

从网络上查到的解释是:硬编码密码可能会以一种不易补救的方式危害系统安全。


发生原因是项目代码存在且包含password、pwd…等有关密码的名称

例如如下代码

// 密码 
private String password = "admin" 

如果被安全检查的软件扫描到这段代码则会提示Password Management: Hardcoded Password

解决方式:将明文的代码放到.yml配置文件或者.properties文件中

// --- java 代码
@Value(${password})
private String password; 

// ---  .yml文件
password: admin
    
// ---  .properties文件
password = admin
2、Access Specifier Manipulation

从网络上查到的解释是:漏洞原因是映射相关,个人知识面不够,只能根据网络上的方案进行解决,漏洞主要代码如下

field.setAccessible(true)

解决方案:目前网络上只有使用spring框架下的解决方案,目前基本都是Spring框架在使用,所以目前的解决方案如下

//要导好对应的包
import org.springframework.util;

ReflectionUtils.makeAccessible(field);
3、Null Dereference

从网络上查到的解释是:空指针异常

发生原因是在项目代码中初始了一个对象为null,如:

//初始对象为null
User user = null;
//某种条件下赋值
if(true){
    user = new User();
}
//在调用user办法的之前,没有做非空判断
user.setName("zhangsan");

//这里可能存在相关异常,当if:false的情况下,user是为null,所以当它执行user.setName("zhangsan");这个代码的时候会报错。


修复方案:

//初始对象为null
User user = null;
//某种条件下赋值
if(true){
    user = new User();
}
//在调用user办法的之前,做非空判断
if(user != null){
    user.setName("zhangsan");
}else{
    throw Exception("user is null");
}



欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/606990.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-14
下一篇 2022-04-14

发表评论

登录后才能评论

评论列表(0条)

保存