MyBatis 防止sql注入攻击

Sql注入攻击

SQL注入攻击属于[数据库安全]攻击手段之一,可以通过[数据库安全]防护技术实现有效防护,数据库安全防护技术包括:数据库漏扫、[数据库加密]、[数据库防火墙]、[数据脱敏]、[数据库安全审计系统]等。
在写Java代码时,当采用MyBatis执行sql语句时,存在模糊查询的方法。存在表达式${} 和 #{}。当使用美元符号容易存在sql攻击方式。

防护一:sql语句不在使用${}表达式,改为#{}

Mysql: 使用like % 查询 LIKE CONCAT('%',#{name},'%' )
Oracle:使用like % 查询 LIKE '%'||#{name}||'%' 或者CONCAT函数

   
        #{item}
  

防护二:采用阿里的druid数据连接池

 
        
        
        
        
        
        
        

        
        
        
        

        
        

        
        

        
        

        
        
        
        

        
        
        

        
        
    

你可能感兴趣的:(MyBatis 防止sql注入攻击)