如何解决SQL注入?
一.什么是sql注入
SQL注入是一种网络攻击方式,是程序猿编写疏忽,通过SQL语句,实现无账号登录,甚至篡改数据库。
二.如何实现SQL注入攻击
- 寻找SQL注入位置
- 判断服务器类型和数据库类型
- 针对不同的服务器数据库特点进行SQL注入攻击。
三.攻击实例
String sql =
select *
from user_table
where username='"username"'
and password = '"password"';
这样输入之后 就相当于 1 = 1
一定会通过
在mybatis中 $ 拼接字符串 无法防止sql注入
#{} 可以防止sql注入
四.如何防御SQL注入
以我的经验有
1.绑定变量
2.使用预编译PreparedStatement对象
3.严格设置格式比如springboot中注释:邮箱格式