我对 Spring 的 JdbcTemplate 的 SQL 注入有一些类似的代码的担忧:
jdbcTemplate.query("SELECT * FROM " + tableName, new TableMapper());
Run Code Online (Sandbox Code Playgroud)
“tableName”变量是通过串联添加的,因为无法将其作为 JdbcTemplate 的参数传递。
“tableName”变量只能由管理员编辑,但我想知道技术上是否可以对此查询进行 SQL 注入攻击。
否则你能描述一种安全的方法吗?
我的问题如下:
我更新了 postgreSQL 文档(使用 9.5 版)中描述为整数的设置“log_min_duration_statement”。我使用以下查询来更新它:“将log_min_duration_statement 设置为 [numberOfMilliseconds] ”
当我尝试获取更新的值时,我得到一个以毫秒(如"250ms")或以秒为单位(如"10s")格式化的持续时间字符串。我使用“SHOW log_min_duration_statement”来检索值。我想将该值检索为表示毫秒的整数,而不是将其格式化为具有不同单位的文本。
有谁知道这样做的方法?
非常感谢您的时间!