sql >> Base de Datos >  >> RDS >> PostgreSQL

¿Cómo protegerse contra la inyección de SQL cuando la cláusula WHERE se crea dinámicamente desde el formulario de búsqueda?

¿Has visto el JDBC Plantilla JDBC de parámetro con nombre ?

Puedes hacer cosas 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);

y construya su cadena de consulta dinámicamente, y luego construya su SqlParameterSource de manera similar.