如果order by
使用用户输入的内容而不经过校验,则会引起order by
类型SQL注入,可能导致数据库dos攻击。
如何防护?
PageHelper.startPage(pageNum , pageSize);PageHelper.orderBy("字段名 排序规律");
PageHelper.startPage(pageNum, pageSize, "字段名 排序规律");
Ctrl+Shift+F → startPage
→ Ctrl+Alt+F7 → Ctrl+Alt+H
XXXExample example = new XXXExample();
example.setOrderByClause("字段名1 ASC/DESC,字段名2 ASC/DESC,...");
Ctrl+Shift+F → .setOrderBy
→ Ctrl+Alt+H
查看Mybatis 的 SQL配置文件,order by使用的事${}
,导致SQL注入
Ctrl+Alt+H
${}
→ #{}