sql >> Databáze >  >> RDS >> PostgreSQL

Jak se chránit před SQL injection, když je klauzule WHERE sestavována dynamicky z vyhledávacího formuláře?

Viděli jste JDBC NamedParameterJDBCTemplate ?

Můžete dělat věci jako:

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

a dynamicky vytvořte řetězec dotazu a poté vytvořte SqlParameterSource podobně.



  1. Jak zahrnout výsledky s nerozhodným výsledkem na posledním místě při použití klauzule TOP na serveru SQL Server

  2. Vložení aktuálního data a času do databáze SQLite

  3. Pojmenované parametry v databázových funkcích s SQLAlchemy

  4. Mysql převést int na MAC