Pan*_*nos 5 sql hibernate jpa sql-injection
正如我在很多文章中读到的那样,当我使用JPA/Hibernate查询时,最好在我的查询中设置参数,以避免SQL注入.喜欢:
select user from User user where user.name = :name and user.surname = :surname
Run Code Online (Sandbox Code Playgroud)
我的问题是,在某些情况下,我需要在创建查询时使用本机查询.
我将使用我的实体经理和createNativeQuery.但在这种情况下,参数将是位置的.喜欢:
select * from users where user_name = ? and user_surname = ?
Run Code Online (Sandbox Code Playgroud)
然后在我的查询中我将使用方法setParameter(1, "name")等.所以这种情况下"sql注入证明"就像在参数化查询中?
如果您不使用字符串操作来构建查询,例如
"SELECT foo FROM bar Where id="+myParameter+" more sql ..."
Run Code Online (Sandbox Code Playgroud)
,那么你就不会有任何漏洞。
| 归档时间: |
|
| 查看次数: |
3736 次 |
| 最近记录: |