[英]Native sql query- SQL Injection Attack
我正在與JPA合作。 如果我使用本機sql查詢(而非實體查詢),我的應用程序如何能保證SQL注入安全? 我需要使用用戶從html表單提交的數據來構建本機sql查詢。
如果在本機sql中使用參數,則可以避免SQL注入攻擊,但是我的問題是我無法確定用戶正在提交多少個數據字段。
您應該使用位置參數綁定:
String queryString = "select * from EMP e where e.name = ?1";
Query query = em.createNativeQuery(queryString, Employee.class);
query.setParameter(1, "Mickey");
請注意,您不應像JPA Spec所述在查詢中使用命名參數綁定( :empName
)
僅位置參數綁定可用於本機查詢。
這樣可以使您免受SQL Injection攻擊。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.