sql >> Databasteknik >  >> RDS >> PostgreSQL

Hur skyddar man mot SQL-injektion när WHERE-satsen är byggd dynamiskt från sökformuläret?

Har du sett JDBC NamedParameterJDBCTemplate ?

Du kan göra saker 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);

och bygg din frågesträng dynamiskt och bygg sedan din SqlParameterSource liknande.



  1. Infoga värde automatiskt i databasen

  2. Länka om Grid Infrastructure

  3. Kolumnrad Transponera i Oracle Sql

  4. Hur kan jag sortera icke-engelska strängar i MySQL?