SQL注入攻击是指攻击者利用SQL漏洞,绕过系统约束,越权获取数据的攻击方式。
#SQL代码 " select * from a where name=' " +name+ " ' "; #正常情况,name:张三 select * from a where name='张三'; #SQL注入,name:' or 1=1 or 1=' select * from a where name='' or 1=1 or 1='';
前端输入的字符串可能作为SQL语句的一部分被带入到SQL中执行,造成了数据泄露的可能,解决办法是将单引号(')字符进行转译,Mybatis已经为我们提供了相关工作。
MyBatis两种传值方式
${ }文本替换,未经任何处理对文本进行替换
#{ }预编译传值,对字符串中的特殊字符转译处理,可以预防SQL注入