Мы используем Veracode для сканирования кода. Результат сообщил о вероятной SQL-инъекции в строке 51. Код приведен ниже.
Я хотел бы знать, почему это проблема с SQL-инъекцией и как ее исправить, если да.
@Override
public CloseableSqlRowSet queryForRowSet(String sql, SqlParameterSource paramSource) throws DataAccessException {
try {
conn = getJdbcTemplate().getDataSource().getConnection();
psc = getPreparedStatementCreator(sql, paramSource);
ps = psc.createPreparedStatement(conn);
applyStatementSettings(ps);
resultSet = ps.executeQuery(); // this is line 51
return new CloseableResultSetWrappingSqlRowSet(resultSet, this);
} catch (SQLException ex) {
this.release();
throw translateSqlException(sql, ex);
} catch (Exception e) {
this.release();
throw e;
}
}