PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Comment se protéger contre l'injection SQL lorsque la clause WHERE est construite dynamiquement à partir du formulaire de recherche ?

Avez-vous vu le JDBC NamedParameterJDBCTemplate ?

Vous pouvez faire des choses comme :

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);

et créez votre chaîne de requête dynamiquement, puis créez votre SqlParameterSource de même.