NOTE
1.7 SQL注入攻击
SQL 注入的原因、防御方式与参数化查询。
这是历史学习笔记,可能存在过时或不完整的理解。
1. SQL注入攻击是什么
一种Web攻击 SQL注入是一种将SQL代码添加到输入参数中,传递到服务器解析并执行的一种攻击手法。
2. 为什么会发生SQL注入攻击
把不可信用户输入直接拼接进 SQL 语句,使输入能够改变原有 SQL 结构。
3. 如何解决SQL注入攻击
3.1. 使用参数化查询(Prepared Statement)
- 写 SQL 时使用参数占位符(例如
?)。 - 通过数据库驱动提供的参数化 API 绑定参数,不要自己拼接转义。
关键点不是“提前缓存执行计划”,而是让 SQL 结构和参数数据分离:参数会作为数据传入,而不是继续参与 SQL 语法解析。
4. 实例
4.1. Golang
sql.md