我对我们的应用程序进行了安全扫描,发现的一个安全问题是“没有完整性检查的代码下载”。该线的风险点位于Class.forName("com.mysql.jdbc.Driver");
我不知道
如何保护上述代码行?
如何确保forName("")
的参数不是要加载的恶意类。
注意:我在我们的实时环境中使用Java1.7。我们没有安全策略/安全管理器。
编辑:使用的安全扫描是Checkmarx。
最佳答案
有了recent JDBC drivers就不再需要进行Class.forName()
注册。如果你的驱动程序是旧的(不是JDBC4或者更新的),你就可以完全删除它。
安全问题似乎是指this这意味着攻击者已经访问了类路径,因此也可能以其他方式造成大量损害建议的在该点检查校验和的解决方案可能没有太大帮助。
关于java - 如何保护Class.forName(“com.mysql.jdbc.Driver)?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39622146/