PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Como se proteger contra injeção de SQL quando a cláusula WHERE é construída dinamicamente a partir do formulário de pesquisa?


Você já viu o JDBC NamedParameterJDBCTtemplate ?

Você pode fazer coisas como:
String sql = "select count(0) from T_ACTOR where first_name = :first_name";
SqlParameterSource namedParameters = new MapSqlParameterSource("first_name", firstName);
return namedParameterJdbcTemplate.queryForInt(sql, namedParameters);

e construa sua string de consulta dinamicamente e, em seguida, construa seu SqlParameterSource similarmente.