RSS
菜单

MySQL 的 SQL 注入是什么?怎么防御?

SQL 注入:攻击者把恶意 SQL 片段拼进用户输入,改变原 SQL 语义,如 ' OR '1'='1 绕过登录、'; DROP TABLE ...' 删表。原理:动态拼接 SQL 未参数化。防御:① 参数化查询(预处理语句):SELECT * FROM t WHERE id=?(Python psycopg2/pymysql 用 %s、Java PreparedStatement)——值不会被当 SQL 执行,最有效;② 输入校验/白名单:数字、枚举校验;③ 最小权限:应用账号不用 root、只授权需要的库表;④ 隐藏错误信息(不泄露 SQL);⑤ WAF 兜底;⑥ ORM 默认参数化,但拼接原生 SQL 要小心。

下载推广海报

圈内讨论推广海报

《MySQL 的 SQL 注入是什么?怎么防御?》完整推广海报
一起交流

全部回复 0

分享经验,让问题更进一步

讨论,从你的观点开始

还没有回复,欢迎补充经验或分享不同的思路。