今天使用Druid时出现了一下报错
Caused by: java.sql.SQLException: sql injection violation, dbType mysql, druid-version 1.2.23, comment not allow : SELECT (w.n + 1) AS week, -- 将周数从 0...4 映射到 1...5 IFNULL(COUNT(l.createTime), 0) AS actionCount FROM ( -- 生成过去 5 周的虚拟周数,基于当前日期的相对周数 SELECT 0 AS n UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 ) w LEFT JOIN article l ON WEEK(l.createTime, 1) = WEEK(CURDATE() - INTERVAL (4 - w.n) WEEK, 1) AND l.createTime >= CURDATE() - INTERVAL 5 WEEK AND l.isDelete = 0 GROUP BY w.n ORDER BY week ASC -- 按照周数从小到大排序,即 1、2、3、4、5 at com.alibaba.druid.wall.WallFilter.checkInternal(WallFilter.java:883) ~[druid-1.2.23.jar:na]
出现 sql injection violation 错误,通常是由于 Druid 的 SQL 防火墙 (WallFilter) 启用了 SQL 注入防护功能,并认为 SQL 语句包含了潜在的 SQL 注入风险,尤其是带有注释的部分。
Druid 的防火墙可能会将带注释的部分视为潜在的 SQL 注入攻击风险。
直接把注释去掉


