通過ibatis解決sql注入問題
更新時間:2017年09月28日 11:35:55 作者:童年的天空
這篇文章主要介紹了通過ibatis解決sql注入問題,需要的朋友可以參考下
于ibaits參數引用可以使用#和兩種寫法,其中#寫法會采用預編譯方式,將轉義交給了數據庫,不會出現注入問題;如果采用兩種寫法,其中#寫法會采用預編譯方式,將轉義交給了數據庫,不會出現注入問題;如果采用寫法,則相當于拼接字符串,會出現注入問題。
例如,如果屬性值為“' 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 #+'%
總結
以上所述是小編給大家介紹的通過ibatis解決sql注入問題,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!

