最近看看了SQL注入的问题,这篇文章解决了ibatis如何防sql注入攻击,值得参考,转自http://blog.csdn.net/scorpio3k/article/details/7610973

对于ibaits参数引用可以使用#和$两种写法,其中#写法会采用预编译方式,将转义交给了数据库,不会出现注入问题;如果采用$写法,则相当于拼接字符串,会出现注入问题。

例如,如果属性值为“' or '1'='1 ”,采用#写法没有问题,采用$写法就会有问题。

对于like语句,难免要使用$写法,

1. 对于Oracle可以通过'%'||'#param#'||'%'避免;

2. 对于MySQL可以通过CONCAT('%',#param#,'%')避免;

3. MSSQL中通过'%'+#param#+'% 。

如下3种SQL语句:

[html] view plaincopyprint?
  1. mysql: select * from t_user where name like concat('%',#name #,'%')
  2. oracle: select * from t_user where name like '%'||#name #||'%'
  3. SQL Server:select * from t_user where name like '%'+#name #+'%
    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注入问题 .相关推荐

  1. ibatis解决sql注入问题

    原文: http://blog.csdn.net/scorpio3k/article/details/7610973 对于ibaits参数引用可以使用#和$两种写法,其中#写法会采用预编译方式,将转义 ...

  2. mysql注入实例获取答案_本文实例讲述了MySQL解决SQL注入的另类方法。分享给大家供大家参考,具体如下:问题解读我觉得,这个问题每年带来的成本可以高达数十亿美元了。本文就来谈谈,...

    本文实例讲述了MySQL解决SQL注入的另类方法.分享给大家供大家参考,具体如下: 问题解读 我觉得,这个问题每年带来的成本可以高达数十亿美元了.本文就来谈谈,假定我们有如下 SQL 模板语句: se ...

  3. 使用过滤器解决SQL注入和跨站点脚本编制

    1 SQL注入.盲注 1.1 SQL注入.盲注概述 Web 应用程序通常在后端使用数据库,以与企业数据仓库交互.查询数据库事实上的标准语言是 SQL(各大数据库供应商都有自己的不同版本).Web 应用 ...

  4. python防止sql注入的方法_python解决sql注入以及特殊字符

    python往数据库插入数据, 基础做法是: cur=db.cursor() sql = "INSERT INTO test2(cid, author, content) VALUES (1 ...

  5. mysql5无法注入_MySQL解决SQL注入的另类方法详解_MySQL

    本文实例讲述了MySQL解决SQL注入的另类方法.分享给大家供大家参考,具体如下: 问题解读 我觉得,这个问题每年带来的成本可以高达数十亿美元了.本文就来谈谈,假定我们有如下 SQL 模板语句: se ...

  6. 解决SQL注入与XSS攻击

    最近接手之前同事的几个项目,公司利用扫描工具进行全项目扫描,发现了部分项目代码存在安全漏洞,所以需要进行项目代码修复以避免有人恶意攻击.这个任务自然而然的就落到我手上.在这里记录一下操作的过程. 扫描 ...

  7. 026_jdbc-mysql-PrepareStatement解决sql注入

    1. 新建一个JDBCPrepareStatement工程, 使用我们之前的JDBCUtil.java和jdbc.properties属性文件 2. PreparedStatement对象相比较以前的 ...

  8. 关于ibatis的SQL注入。

    使用'$userId$'很有可能造成SQL注入问题,因为原理是替换里面的内容. 而使用#userId#则不会出现问题,这种方式是预编译,和JDBC中的PreparedStatem差不多,可以避免SQL ...

  9. 什么是SQL注入?怎么解决SQL注入?

    SQL注入就是一些攻击者把SQL命令插入到web表单的输入或者页面的url中,欺骗服务器执行恶意的SQL语句.在某些表单中,用户输入的内容直接用来构造或者影响动态SQL命令,或者作为存储过程的输入参数 ...

最新文章

  1. Matlab中去除exe执行时文件的DOS窗口的方法
  2. 阿里AI摘图像识别竞赛WebVision桂冠,万物识别准确率创世界纪录
  3. flask中的flask_uploads上传文件
  4. AI玩填字游戏,赢得全国锦标赛冠军!官方:不是人,没有奖金和名次
  5. Android——apk反编译
  6. python基础_格式化输出(%用法和format用法)
  7. 【jquery模仿net控件】初步GridView模型实现,及其简单应用
  8. CLion开发GTKmm界面应用的Cmake配置文件
  9. 礼遇双十二,送12份福利好事成双
  10. 使用ASP.NET MVC、Rabbit WeixinSDK和Azure快速开发部署微信后台
  11. 【4K录屏】高清录屏及剪辑软件:Bandicam 和 Captura
  12. 功能强大的NAS云存储
  13. rtlinux linux实时补丁,(九)RTLinux补丁以及cyclictest
  14. python 协程库_python 协程库gevent学习--gevent数据结构及实战(四)
  15. OGC入门学习专栏(2.1) - SWE通用数据模型编码标准(写完所有小节再合)
  16. 云账户是什么意思?有什么用?
  17. [转载].NET商业软件源码保护
  18. 第五章 黎明踏浪号 Facebook (一)
  19. wkhtmltoimage 卡住了_用rails做一个简单的长微博生成工具
  20. 任务3、监控界面设计

热门文章

  1. u3d无锯齿遮罩shader-可用于ugui
  2. 梭子鱼邮件归档设备配置
  3. 提高系统性能——对SQL语句优化的思考
  4. APP专项测试方法有哪些?
  5. 修改RHEL7/centos7网卡为eth0
  6. XMPP接受发送消息
  7. oracle tuning 工具
  8. 201521123011 《java程序设计》 第9周学习总结
  9. jzoj C组 2017.1.19 比赛
  10. 关于一部分数学知识》(工具向)(实时更新)