@Override
public void configPlugin(Plugins me) {
//数据源一
// 扩展配置
Prop p = PropKit.use("config.txt");
C3p0Plugin cp = new C3p0Plugin(p.get("jdbcUrl"), p.get("userName"), p.get("passWord"));
me.add(cp);
ActiveRecordPlugin arp = new ActiveRecordPlugin(cp);
_MappingKit.mapping(arp);
me.add(arp);
}
---- ----------------------------------------------------------------------------------------------------
用的以上代码逻辑配置数据源,发布后被安全检测出存在SQL注入风险。
1:Model、Db 内的所有数据库操作方法都使用的是 PreparedStatement,只要你的 sql 是用问号占位传递的参数,这个是天然防 sql 注入的
2:DruidPlugin 配置 WallFilter,这个是专业防注入的,这是第二层保护
一般来说,同时用了上面两个手段,是没有 sql 注入安全风险的,WallFilter 保护可以防止小白程序员没有在 sql 中使用问号占位