H-13:分页排序列白名单,禁止 ORDER BY 注入
分页/导出排序列中央白名单,禁止原始字符串交给 PageHelper,关闭全工程唯一 SQL 注入面。叠在 H-12 上。
Summary
- OrderBySanitizer:标识符语法 + DynamicSqlSupport 列集;语法非法 400,未知列回退 id
- PageInfo.getOrderBy / PageUtil.wrapperPage / SortColumn 只产出消毒后的 ORDER BY
- 维修记录 sum()、机台状态多列、花型统计别名改可信旁路
Test plan
- orderNo/createTime 仍可排序;不传仍为 id DESC
- payload(id); SELECT 1--、IF()、多列)返 400,SQL 不含 payload
- 未知标识符回退 id,不打 Unknown column
- 维修记录按转数/重量聚合排序;机台状态列表;花型统计分页
- OrderBySanitizerTest 7 例
无 Maven 升版、无 Flyway。方案:钉钉 H-13