对于ibaits参数引用可以使用#和$两种写法,其中#写法会采用预编译方式,将转义交给了数据库,不会出现注入问题;如果采用$写法,则相当于拼接字符串,会出现注入问题。
例如,如果属性值为“' or '1'='1 ”,采用#写法没有问题,采用$写法就会有问题。
对于like语句,难免要使用$写法,
1. 对于Oracle可以通过'%'||'#param#'||'%'避免;
2. 对于MySQL可以通过CONCAT('%',#param#,'%')避免;
3. MSSQL中通过'%'+#param#+'% 。
如下3种SQL语句:
- 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 常用写法
http://javacrazyer.iteye.com/blog/1135561
相关推荐
方法一:利用google高级搜索,比如搜索url如.asp?... 您可能感兴趣的文章:Java面试题解析之判断以及防止SQL注入SQL注入原理与解决方法代码示例通过ibatis解决sql注入问题Win2003服务器防SQL注入神器–D盾_IIS防火墙
主要是关于oracle ibatis 的一些sql
在ibatis日志信息中打印SQL语句的方法(个人总结)
ibatis2.0+sqlserver2005环境搭建
iBatis最全的动态SQL语句,你需要的都有,资源在于大家共享
ibatis常用的sql语句,很全的一篇文档。。。
主要介绍了通过ibatis解决sql注入问题,需要的朋友可以参考下
通过java程序查看ibatis配置文件中的sql语句(注:无法查看变量值)
ibatis 开发指南 和 iBATIS-SqlMaps两本图书
08_ibatis教程_sql主键生成方式.zip 08_ibatis教程_sql主键生成方式.zip
ibatis的dynamicSQL中,关于prepend的使用
[iBATIS]sql转换工具 简单哦~ 项目组自己写的哦~分享给大家了
iBATIS-SqlMaps-2-Tutorial_cniBATIS-SqlMaps-2-Tutorial_cn.pdf.pdfiBATIS-SqlMaps-2-Tutorial_cn.pdfiBATIS-SqlMaps-2-Tutorial_cn.pdf
08_ibatis教程_sql主键生成方式.rar
iBATIS-SqlMaps-2_cn中文文档
iBATIS-SqlMaps2入门代码文档
ibatis常用sql语句,简单易懂,方便查询,初学者宝典
ibatis sql语句对条件中特殊字符% # 处理
webwork+ibatis+sqlserver2000完整实例
动态sql拼接