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