通過ibatis解決sql注入問題
于ibaits參數(shù)引用可以使用#和兩種寫法,其中#寫法會采用預(yù)編譯方式,將轉(zhuǎn)義交給了數(shù)據(jù)庫,不會出現(xiàn)注入問題;如果采用兩種寫法,其中#寫法會采用預(yù)編譯方式,將轉(zhuǎn)義交給了數(shù)據(jù)庫,不會出現(xiàn)注入問題;如果采用寫法,則相當(dāng)于拼接字符串,會出現(xiàn)注入問題。
例如,如果屬性值為“' or '1'='1 ”
,采用#寫法沒有問題,采用寫法就會有問題。對于語句,難免要使用寫法就會有問題。對于like語句,難免要使用寫法,
1. 對于Oracle可以通過'%'||'#param#'||'%'避免;
2. 對于MySQL可以通過CONCAT('%',#param#,'%')避免;
3. MSSQL中通過'%'+#param#+'% 。
mysql: select * from t_user where name like concat('%',#name #,'%') oracle: select * from t_user where name like '%'||#name #||'%' SQL Server:select * from t_user where name like '%'+#name #+'%
總結(jié)
以上所述是小編給大家介紹的通過ibatis解決sql注入問題,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
java通過反射創(chuàng)建對象并調(diào)用方法
這篇文章主要介紹了java通過反射創(chuàng)建對象并調(diào)用方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-01-01JAVA編程實現(xiàn)UDP網(wǎng)絡(luò)通訊的方法示例
這篇文章主要介紹了JAVA編程實現(xiàn)UDP網(wǎng)絡(luò)通訊的方法,簡單說明了UDP通訊的原理并結(jié)合實例形式分析了java實現(xiàn)UDP通訊的相關(guān)類與使用技巧,需要的朋友可以參考下2017-08-08java網(wǎng)絡(luò)之基于UDP的聊天程序示例解析
這篇文章主要介紹了java網(wǎng)絡(luò)之基于UDP的聊天程序示例解析,文中通過步驟及示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08Java 獲取當(dāng)前類名和方法名的實現(xiàn)方法
這篇文章主要介紹了 Java 獲取當(dāng)前類名和方法名的實現(xiàn)方法的相關(guān)資料,這里不僅提供了實現(xiàn)方法并比較幾種方法的效率,需要的朋友可以參考下2017-07-07SpringBoot+OCR實現(xiàn)PDF內(nèi)容識別的示例代碼
在SpringBoot中,您可以結(jié)合OCR庫來實現(xiàn)對PDF文件內(nèi)容的識別和提取,本文就來介紹一下如何使用 Tesseract 和 pdf2image 對 PDF 文件進行OCR識別和提取,具有一定的參考價值,感興趣的可以了解一下2023-12-12