Spring中的SimpleJdbcTemplate是否可以防止SQL注入?

麦金:

我意识到有可能将手动构造的String传递给execute(String)脆弱的。但是,我对您使用MapSqlParameterSource或其他公开的方法之一(如以下示例)将参数传递给查询的位置感兴趣。深入研究源代码,似乎在每一个源代码中都使用了准备好的语句,因此我认为注入是不可能的。但是我不是安全专家,所以只想确认一下。

范例1:

getSimpleJdbcTemplate().queryForObject("SELECT * FROM table WHERE value = ?",
                new ObjectMapper(), code);

范例2:

    getSimpleJdbcTemplate()
            .update(
                    "insert into table "
                            + "(column1, column2, column3, column4, column5) VALUES "
                            + "(:column1, :column2, :column3, :column4, :column5)",
                    new MapSqlParameterSource().addValue("column1",
                            value1).addValue("column2",
                            value2).addValue("column3",
                            value3).addValue("column4",
                            value4).addValue("column5", value5));
博zh:

是的,上面的代码可以安全注入-它使用参数绑定。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Hibernate Criteria Api是否可以完全防止SQL注入

JSF标准验证可以防止代码注入吗?

apache commons CommandLine对象是否可以防止命令行注入?

PDO准备好的语句是否足以防止SQL注入?

Knex.js是否可以防止SQL注入?

是否可以防止从共享URL中剥离查询参数?

这个准备好的语句可以防止SQL注入吗?

Doctrinepersist()是否可以防止SQL注入?

Spring Data JPA是否可以防止SQL注入

Java / Hibernate Criteria Query API是否可以防止注入?

PetaPoco的Query(字符串查询,参数)方法是否可以防止SQL注入?

使用WordPress的get_results()数据库函数是否可以防止SQL注入

这个简单的字符串转义可以防止任何SQL注入吗?

es6模板文字可以防止SQL注入吗?

C#/。NET(核心):类型系统是否足够安全以防止SQL注入?

ActiveRecord :: ConnectionAdapters :: OracleEnhancedAdapter#quote是否可以防止SQL注入?

是否有必要验证输入以防止SQL注入?

传递键值对还可以防止SQL注入攻击吗?

是否可以防止ReplicaSet扩大/缩小?

单个令牌是否可以防止RESTful API中的csrf?

是否可以防止Trim()删除空格?

XML解析器是否可以防止.NET Core中的XML外部实体(XML)注入?

htmlspecialchars是否足以防止对用单引号引起来的变量进行SQL注入?

是否可以防止Javascript中的popstate?

Mysqli登录-使用此代码可以防止SQL注入吗?

Git是否可以防止数据降级

是否可以防止Windows 10 uwp中的锁定屏幕?

使用 PDO 准备好的语句和 htmlspecialchars 是否足以防止 XSS 和 SQL 注入?

Querydsl 是否可以防止 SQL 注入