我的团队在前端使用了一个查询构建器,它构建了SQL的where子句部分,并将其传递到后端以运行预览查询功能,
我现在要做的是防止SQL注入,因为完整SQL的形成有这样的概念:
第一个月
使用JDBC模板执行代码:List<Map<String, String>> rows = jdbcTemplate.queryForLists(sql);
个
使用参数化查询是不可能的,因为我们无法预测它将被过滤的可能列,什么是确保这是安全的SQL注入的最佳方法?
我的团队在前端使用了一个查询构建器,它构建了SQL的where子句部分,并将其传递到后端以运行预览查询功能,
我现在要做的是防止SQL注入,因为完整SQL的形成有这样的概念:
第一个月
使用JDBC模板执行代码:List<Map<String, String>> rows = jdbcTemplate.queryForLists(sql);
个
使用参数化查询是不可能的,因为我们无法预测它将被过滤的可能列,什么是确保这是安全的SQL注入的最佳方法?
1条答案
按热度按时间pwuypxnk1#
将您的
jdbcTemplate
替换为NamedParameterJdbcTemplate
这将保存您一般从SQL注入。检查spring-doc
下面是一个baeldung的例子
字符串