【问题标题】:How to resolve Java EE Bad Practices: Direct Management of Connections如何解决 Java EE 不良实践:直接管理连接
【发布时间】:2013-04-12 13:49:41
【问题描述】:

我将我的 Java 应用程序 EAR 提交给 Veracode 安全测试工具,并在以下代码中发现 API Abuse- Direct Mangment of Connection 漏洞:

Connection con = DriverManager.getConnection (url, hsUserId, hsPassword);  

请有人帮我解决这个问题。

【问题讨论】:

    标签: java jdbc security veracode


    【解决方案1】:

    您的错误消息非常清楚地说明了这一点:

    直接管理连接缺陷

    因此,在容器中,您永远不应该手动创建连接,而是让容器来完成。

    您说的是“J2EE”,还是指的是“Java EE”? (你应该添加相关标签!)

    在第一种情况下,您必须进行 JNDI 查找:

    InitialContext ctx = new InitialContext();
    DataSource datasource = (DataSource) ctx.lookup("..");
    Connection conn = datasource.getConnection();
    

    在第二种情况下,您对其进行注释并让它注入:

    @PersistenceContext
    EntityManager em;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-11-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多