# MyBatis:预防SQL注入攻击

# 导航

回到mybatis导航页

# SQL注入攻击

  • SQL注入是指攻击者利用SQL漏洞,绕过系统约束,越权获取数据的攻击方法

例如如下sql:

select * from a where name='"+name+"'
1

正常情况:name:张三

select * from a where name='张三'
1

SQL注入攻击:name:' or 1=1 or 1='

select * from a where name ='' or 1=1 or 1=''
1

# MyBatis两种传值方式

  • ${}文本替换,未经任何处理对SQL文本处理
  • #{}预编译传值,使用预编译传值可以预防SQL注入

所以实际开发中,主要都是使用 #{} 而不用${},${}会产生sql注入,如果要使用${},就不能让前端传入

# MyBatis工作流程

myBatis工作流程

# 导航,上一页,下一页

5sql传参l
10MyBatis日志管理

# 支持我-微信扫一扫-加入微信公众号

Aseven公众号

# 赞赏作者

赞赏作者