设为首页 加入收藏
首 页 企业简介 项目案例 软件定制 行业软件 解决方案 下载中心 服务专区 客服中心
服务项目
案例展示 更多 >>
·维修管理系统 2012/5/14
·园区游客服务管理系统 2012/5/10
·党风廉政信息公开平台 2012/5/10
·餐饮无线点菜系统 2012/1/11
·职工提案系统软件 2012/1/11
·电信客户资源管理系统软… 2012/1/11
·移动停电通知系统 2012/1/11
·洗衣收银软件 2012/1/11
·触摸查询系统软件 2012/1/11
·西安来电弹屏软件 2011/8/31
联系人:李先生
电  话:029-87878512
手  机:13468700578
地  址:西安市太白北路1号
在线咨询:  762176615
Email:junsoft@126.com
 
当前的位置 >> 返回首页 >> 解决方案
iBatis解决sql注入
发布者:西安软件公司   发布时间:2013/6/26   阅读:6次

iBatis解决sql注入

(1) ibatis xml配置:下面的写法只是简单的转义 name like '%$name$%'

(2) 这时会导致sql注入问题,比如参数name传进一个单引号“'”,生成的sql语句会是:name like '%'%'

(3) 解决方法是利用字符串连接的方式来构成sql语句 name like '%'||'#name#'||'%'

(4) 这样参数都会经过预编译,就不会发生sql注入问题了。

(5) #与$区别:

#xxx# 代表xxx是属性值,map里面的key或者是你的pojo对象里面的属性, ibatis会自动在它的外面加上引号,表现在sql语句是这样的 where xxx = 'xxx' ;

$xxx$ 则是把xxx作为字符串拼接到你的sql语句中, 比如 order by topicId , 语句这样写 ... order by #xxx# ibatis 就会把他翻译成 order by 'topicId' (这样就会报错) 语句这样写 ... order by $xxx$ ibatis 就会把他翻译成 order by topicId


网站首页 | 关于我们 | 售后服务 | 网站地图 | 查看留言 | 在线留言 | 客服中心
© 版权所有:西安润宇软件科技有限公司 
公司地址:西安市太白北路1号 联系电话:029-87878512 手机:13468700578 联系人:李先生
Copyright ® 2009-2017 Xbwbw.com Inc. All Rights Reserved 
技术支持:西安润宇软件科技有限公司  陕ICP备11000720号-1