NOTE
1.7 SQL注入攻击
SQL 注入的原因、防御方式与参数化查询。
这是历史学习笔记,可能存在过时或不完整的理解。
1. SQL注入攻击是什么
一种Web攻击 SQL注入是一种将SQL代码添加到输入参数中,传递到服务器解析并执行的一种攻击手法。
2. 为什么会发生SQL注入攻击
把用户输入的内容直接拼接到SQL语句中执行
3. 如何解决SQL注入攻击
3.1. 开启SQL预编译
- 写SQL的时候参数用
?占位 - 使用数据库驱动提供的 Prepared Statement / 参数化 API 绑定参数,不直接拼接用户输入。
这样 SQL 结构和参数数据分离,用户输入只会作为数据传入,不会继续参与 SQL 语法解析。防止 SQL 注入的关键是参数化,而不是执行计划缓存。
讨论
使用 GitHub 账号参与讨论,评论会保存在 GitHub Issues 中。在 GitHub 查看