JdbcBatchItemWriter是否容易受到SQL注入攻击?

时间:2016-04-05 14:19:05

标签: spring spring-batch spring-jdbc

例如,这是代码:

<bean id="sqlServerItemWriter"
    class="org.springframework.batch.item.database.JdbcBatchItemWriter" scope="step">
    <property name="dataSource" ref="dataSource" />
    <property name="sql">
        <value>
        <![CDATA[
        INSERT into GENERIC_TABLE
        (col1, col2, col3, col4)
        VALUES (:value1, :value2, :value3, '#{jobParameters['someValue']}')
        ]]>
        </value>
    </property>
    <property name="itemSqlParameterSourceProvider">
        <bean
            class="org.springframework.batch.item.database.BeanPropertyItemSqlParameterSourceProvider" />
    </property>
</bean>

如果我有一些价值,比如&#34;&#39;价值&#39;); DROP TABLE GENERIC_TABLE; - &#34;对于要插入的四个值中的任何一个,它会丢弃表吗?

谢谢!

编辑:我自己测试了它,似乎它不容易受到SQL注入攻击。 JDBC似乎根据记录器使用带参数化设置器的预处理语句,所以一切都很好。

0 个答案:

没有答案