sql >> Database teknologi >  >> RDS >> PostgreSQL

Hvordan beskyttes mod SQL-injektion, når WHERE-sætningen er bygget dynamisk fra søgeformularen?

Har du set JDBC NavnetParameterJDBCTemplate ?

Du kan gøre ting som:

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

og byg din forespørgselsstreng dynamisk, og byg derefter din SqlParameterSource tilsvarende.



  1. Indsættelse af et indlæg i Wordpress ved hjælp af MySql

  2. N+1 redundans og serverkonsolidering

  3. Node.js Bruger async/await med mysql

  4. Erklære dynamisk array i Oracle PL/SQL