Printemps (MVC), SQL injection d'évitement?

Je me demande comment Spring MVC poignées injections SQL (et d'autres problèmes de sécurité: XSS, code [javascript] injection, etc). Je parle surtout au sujet d'échapper à des valeurs qui sont ajoutés à la bd et. Je n'arrive pas à trouver une réponse, car à chaque fois que je recherche pour le printemps de l'injection sql résultats qui impliquent l'injection de dépendance surviennent.

Mon flow est comme suit: à partir du navigateur client-je faire une demande consistant en un JSON avec certains paramètres de la requête (pas de l'instruction SQL, ce serait trop stupide de la requête SQL en JS). Lorsque la demande atteint la méthode annotée dans le Contrôleur, la requête est associé via @RequestBody à l'aide de Jackson à un "objet de requête". Désormais cet objet est envoyé à la DAO, où à l'aide de JDBC Modèle j'ai une requête à la db (et à l'aide de RowMapper je carte les résultats).

Dans le DAO j'ai quelque chose comme:

public int countAll(RequestObject request) {
    String sql = "SELECT count(*) FROM employees WHERE name = '" + request.getName() + "'";

    JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
    int count = jdbcTemplate.queryForInt(sql);

    return count;
}

Maintenant cette approche est-elle à l'abri de l'injection SQL?
Sont non-JDBCTemplate à base de requêtes sûr étant donné que passent par Spring MVC?

Pourrions-nous avoir une petite discussion à ce sujet?

OriginalL'auteur BogdanSorlea | 2011-12-12