0

我可以 sql-inject setParameter 设置的 jpl 参数吗?我的意思是,我知道如果我有这样的事情我可以做到:

String nm = "'anything' or 'x'='x'--";
Query m = em.createQuery("SELECT p FROM Tbl p WHERE UPPER(p.name) = '" + nm + "'");

我可以用这样的东西做类似的事情吗?:

String nm = "'anything' or 'x'='x'--";
   Query m = em.createQuery("SELECT p FROM Tbl p WHERE UPPER(p.name) = :param").setParameter("param", nm.toUpperCase());
4

1 回答 1

1

似乎它是 sql-injection 安全的。我查看了 sql 查询日志:潜在危险符号在生成的 sql 中被转义

于 2012-05-21T06:17:24.067 回答