LIKE 里的通配符陷阱

LIKE 查询里 % 和 _ 是通配符,本来用来模糊匹配。但用户输入若未经处理,用户想搜的 '%' 字面量会被当成通配,既出怪结果又可能被人用来探测结构。

LIKE 里的通配符陷阱要点

LIKE 里的通配符陷阱示例

						-- 用户想搜 "30%" 这个字面量,却会被当成通配
						SELECT * FROM voucher WHERE code LIKE '%30%%';

						-- 正确做法:把 % 和 _ 转义成普通字符
						SELECT * FROM voucher WHERE code LIKE '\%30\%' ESCAPE '\';
避坑提醒:LIKE 注入常被忽略:搜索框里输入 % 就能匹配全表,既慢又泄数据;进 LIKE 前必须把 % 和 _ 转义掉。
LIKE 里的通配符陷阱 · SQL 注入防护 知识卡片
卡片 05 / 07 · SQL 注入防护(1080×1440 速查卡片)

SQL 注入防护知识点