Junior — Middle
De que maneiras é possível prevenir vulnerabilidades relacionadas com a injeção de código SQL através de parâmetros no JDBC?
sobes.tech IA
Resposta da IA
Para prevenir vulnerabilidades relacionadas com a injeção de SQL (SQL Injection) através de parâmetros no JDBC, utilizam-se os seguintes métodos:
-
PreparedStatement — uso de consultas parametrizadas, onde os parâmetros são passados separadamente e não inseridos diretamente na string SQL. Isto impede a interpretação dos parâmetros como código.
-
Validação e escape de dados de entrada — verificar e limpar os dados antes de os usar nas consultas.
-
Uso de ORM — por exemplo, Hibernate, que gera consultas seguras automaticamente.
Exemplo de uso de PreparedStatement:
String sql = "SELECT * FROM users WHERE username = ? AND password = ?";
PreparedStatement pstmt = connection.prepareStatement(sql);
pstmt.setString(1, username);
pstmt.setString(2, password);
ResultSet rs = pstmt.executeQuery();
Este método evita a possibilidade de injetar código SQL malicioso através dos parâmetros.