--all 用$不能防sql注入
select * from user where name like '%${name}%'
--mysql,oracle (db2的concat函数只支持2个参数)
select * from user where name like concat('%',#{name},'%')
--oracle,db2
select * from user where name like '%'||#{name}||'%'
--SQL Server
select * from user where name like '%'+#{name}+'%'
--据说这种是预编译,有空测下
select * from user where name like "%"#{name}"%"
本文深入探讨了SQL注入攻击的防范方法,并详细介绍了如何使用预编译技术来增强安全性。针对不同数据库(如MySQL、Oracle、SQLServer等),提供了具体的SQL语句示例,帮助开发者实现更安全的代码编写。
3396

被折叠的 条评论
为什么被折叠?



