ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

MySQL SQL 注入防范——参数化查询与防护

2026/8/3 10:58:44 拓冰建站 浏览量
MySQL SQL 注入防范——参数化查询与防护

一、什么是 SQL 注入

-- 用户输入: ' OR '1'='1SELECT*FROMuserWHEREname=''OR'1'='1'-- 返回所有用户!密码校验形同虚设

二、MyBatis 的防范

<!-- ❌ 错误:字符串拼接,容易注入 --><selectid="getUser">SELECT * FROM user WHERE name = '${name}'</select><!-- ✅ 正确:参数化查询 --><selectid="getUser">SELECT * FROM user WHERE name = #{name}</select>

三、其他防护

// 输入校验if(!name.matches("[a-zA-Z0-9_]{3,20}")){thrownewBusinessException("非法输入");}// 开启防火墙(Druid)spring.datasource.druid.filters:stat,wall

💡 觉得有用的话,点赞 + 关注【张老师技术栈】吧!