:ibatis解決sql注入問題
870 ワード
原文の住所:
http://blog.csdn.net/scorpio3k/article/details/7610973
ibaitsパラメータの引用に対しては、钻と$の2つの書き方が使えます.ここで獠の書き方はプリコンパイル方式を採用して、データベースに転送して、注入問題が発生しないようにします.$を使用するとスティッチング文字列に相当します.注入問題があります.
例えば、属性値が「'or'1'='1」であれば、〓で書いても大丈夫です.
like文に対しては、$の書き方は避けられません.
1.Oracleに対して'%'𞓜𞓜噬''を通して避けることができる.
2.MySQLに対してはCONCAT(′%)、菗param27681;氥、')で避けることができます.
3.MSSQLの中で'%'+嚔param啣+'%を通過します.
http://blog.csdn.net/scorpio3k/article/details/7610973
ibaitsパラメータの引用に対しては、钻と$の2つの書き方が使えます.ここで獠の書き方はプリコンパイル方式を採用して、データベースに転送して、注入問題が発生しないようにします.$を使用するとスティッチング文字列に相当します.注入問題があります.
例えば、属性値が「'or'1'='1」であれば、〓で書いても大丈夫です.
like文に対しては、$の書き方は避けられません.
1.Oracleに対して'%'𞓜𞓜噬''を通して避けることができる.
2.MySQLに対してはCONCAT(′%)、菗param27681;氥、')で避けることができます.
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 #+'%