`

转载: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#+'% 。

    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注入问题

    iBatis解决SQL注入问题 iBatis是一个流行的持久层框架,广泛应用于Java企业级开发中。然而,在使用iBatis时,开发人员经常面临着SQL注入问题。SQL注入是一种常见的安全威胁,可能会导致数据泄露、数据篡改、系统...

    寻找sql注入的网站的方法(必看)

    方法一:利用google高级搜索,比如搜索url如.asp?... 您可能感兴趣的文章:Java面试题解析之判断以及防止SQL注入SQL注入原理与解决方法代码示例通过ibatis解决sql注入问题Win2003服务器防SQL注入神器–D盾_IIS防火墙

    ibatis 开发指南 和 iBATIS-SqlMaps两本图书

    9. **错误处理与调试**:分享如何排查和解决iBATIS在实际使用过程中遇到的问题。 10. **最佳实践**:提供一些关于如何优化iBATIS使用的建议,以提高性能和代码质量。 《iBATIS-SqlMaps》则可能更侧重于实战和案例...

    webwork+ibatis+sqlserver2000

    【标题】"webwork+ibatis+sqlserver2000"所代表的是一个基于WebWork框架、iBATIS持久层框架以及SQL Server 2000数据库的完整应用程序实例。这个组合在早期的Java Web开发中较为常见,用于构建企业级应用。 ...

    iBATIS-SqlMaps-中文教程

    《iBATIS-SqlMaps-中文教程》是一个深入解析iBATIS框架的资源,适合对Java Web开发感兴趣的初学者和进阶者。iBATIS是一个持久层框架,它允许开发者将SQL语句直接写在XML配置文件中,实现了SQL与Java代码的分离,简化...

    iBATIS-SqlMaps-2_cn.rar

    iBATIS 是一款流行的数据持久层框架,它允许Java开发者将SQL语句与应用程序代码分离,提供了更灵活的数据库操作方式。 首先,我们来探讨一下iBATIS的核心概念和功能: 1. SQL Maps:iBATIS的核心是SQL Maps,它们...

    ibatis动态SQL标签用法

    iBatis动态SQL标签用法 iBatis是Java持久层框架,提供了动态SQL标签来实现动态查询。动态SQL标签可以根据不同的条件生成不同的SQL语句,从而提高查询效率和灵活性。 动态SQL片段 iBatis提供了动态SQL片段的功能,...

    iBATIS-SqlMaps-2-快速入门教程.docx

    知识点2:SQL Map 架构 SQL Map 架构是 iBATIS-SqlMaps-2 的核心组件,负责将 Java 对象映射到数据库表。 SQL Map 架构能够应用于设计不好的数据库模型甚至是设计不好的对象模型,但是在设计数据库模型和对象模型时...

    iBATIS-SqlMaps2入门代码文档

    ### iBATIS-SqlMaps2入门代码文档知识点详解 #### 一、简介 iBATIS-SqlMaps2是一款用于简化Java应用程序与数据库交互过程的框架。该框架通过配置文件定义了对象关系映射规则,使得开发者能够更加专注于业务逻辑而...

    ibatis打印sql

    综上所述,"ibatis打印sql"这个主题涵盖了解决iBATIS应用中的调试、性能监控和问题定位的关键技术,主要通过集成Log4j并配置合适的日志级别来实现。理解和掌握这些知识点对于有效管理和维护使用iBATIS的项目至关重要...

    iBATIS-SqlMaps-2_cn.pdf 中文

    4. **动态SQL**:iBATIS支持在XML映射文件中编写动态SQL,可以根据条件动态生成不同的SQL语句,极大地提高了SQL的可维护性和灵活性。 5. **参数映射与结果集映射**:在XML映射文件中,你可以定义参数对象如何映射到...

    iBATIS-SqlMaps-2_cn.pdf

    7. **Transactions**:SQL Maps支持声明式和编程式的事务管理,确保数据的一致性和完整性。 通过使用iBATIS SQL Maps,开发者可以专注于业务逻辑,而不是底层的数据库操作,从而提高开发效率。同时,由于XML配置...

    打log4j日志-ibatis的sql输出

    通过这样的配置,每次Ibatis执行SQL时,你可以在控制台看到详细的SQL语句,包括参数信息,这对于排查SQL问题非常有帮助。同时,如果你希望将日志输出到文件,可以添加一个FileAppender到配置中。 总结起来,本文...

    iBATIS-SqlMaps-2-Tutorial_cn.pdf

    iBATIS-SqlMaps-2-Tutorial_cniBATIS-SqlMaps-2-Tutorial_cn.pdf.pdfiBATIS-SqlMaps-2-Tutorial_cn.pdfiBATIS-SqlMaps-2-Tutorial_cn.pdf

    ibatis-sqlmaps-2_cn

    对于有经验的开发者,它可以作为参考手册,帮助解决日常开发中遇到的问题。 总的来说,《ibatis-sqlmaps-2_cn》全面覆盖了IBATIS框架的主要概念和使用方法,深入浅出地介绍了如何利用IBATIS进行数据库操作。阅读并...

    ibatis视频教程.rar

    3. 分离SQL和Java代码:Ibatis将SQL语句和Java代码分离,使得代码更易于管理和测试,同时也降低了SQL注入的风险。 4. 动态SQL:Ibatis提供了动态SQL的功能,可以在XML映射文件中直接编写条件语句,极大地简化了复杂...

    ASP.NET MVC+iBatis+SQL

    3. **参数绑定**:在iBatis映射文件中,可以使用占位符绑定动态参数,实现SQL语句的参数化,提高安全性并防止SQL注入。 综上所述,这个项目演示了如何结合ASP.NET MVC、iBatis和SQL来构建一个简单的Web应用程序。...

    [iBATIS]sql转换工具

    [iBATIS]sql转换工具 简单哦~ 项目组自己写的哦~分享给大家了

Global site tag (gtag.js) - Google Analytics