我正在尝试查找有关Spring Security JPA的信息,以及是否.save()
保护诸如sql注入之类的方法。
例如,我有Customer.
要保留到数据库的对象。我正在使用CustomerRepository Spring实现在该实体上进行操作。客户的构造函数正在使用用户的参数。当一切都准备就绪时,我正在调用.save()
。这样可以防止sql注入吗?还是应该先进行检查?
.save()
是安全的,只有本地查询的使用容易受到攻击。
List results = entityManager.createNativeQuery("Select * from Customer where name = " + name).getResultList();
如果使用参数,也可以保护本机查询。
Query sqlQuery = entityManager.createNativeQuery("Select * from Customer where name = ?", Customer.class); List results = sqlQuery.setParameter(1, "John Doe").getResultList();