簡體   English   中英

本機SQL查詢-SQL注入攻擊

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM