原文地址:
http://blog.csdn.net/scorpio3k/article/details/7610973
对于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注入问题,需要的朋友可以参考下
方法一:利用google高级搜索,比如搜索url如.asp?... 您可能感兴趣的文章:Java面试题解析之判断以及防止SQL注入SQL注入原理与解决方法代码示例通过ibatis解决sql注入问题Win2003服务器防SQL注入神器–D盾_IIS防火墙
iBATIS-SqlMaps-2-Tutorial_cniBATIS-SqlMaps-2-Tutorial_cn.pdf.pdfiBATIS-SqlMaps-2-Tutorial_cn.pdfiBATIS-SqlMaps-2-Tutorial_cn.pdf
ibatis 开发指南 和 iBATIS-SqlMaps两本图书
[iBATIS]sql转换工具 简单哦~ 项目组自己写的哦~分享给大家了
iBATIS-SqlMaps2入门代码文档
通过java程序查看ibatis配置文件中的sql语句(注:无法查看变量值)
webwork+ibatis+sqlserver2000完整实例
ibatis常用sql语句,简单易懂,方便查询,初学者宝典
iBATIS-SqlMaps ibatis入门教程,教你如何做配置ibatis
在ibatis日志信息中打印SQL语句的方法(个人总结)
iBATIS-SqlMaps-2_cn中文文档
动态sql拼接
iBATIS-SqlMaps,ibatis映射文件
ibatis的dtd
比如考虑在iBatis: SQL Maps中的应用例子。这是一个Struts应用允许对一个关系表执行SELECT, INSERT, UPDATE和DELETE的SQL请求。在这个应用中,使用SQL Maps做持续性框架。现在我们要修改这个应用,将这个关系表储存...
根据MyBatis或iBatis的SQLMapper文件解析生成数据库表,通常是指通过解析MyBatis或iBatis的SQLMapper文件中的SQL语句,然后根据这些SQL语句来生成对应的数据库表结构。这样的需求可能源于需要将已有的SQLMapper文件...
WAS上log4j日志不能输出(ibatis)sql语句解决办法[借鉴].pdf
自己整理的非常好用 好东西向大家分享 └ ^o^ ┘
最简单的IBatis for .net实现